Квартиры, дома, земельные участки Краснодарского края без посредников. Объявления собственников недвижимости.
Реклама здесь
Главная
Примеры PHP Примеры JavaScript Примеры Ajax Примеры CSS,HTML

Определение Яндекс Тиц и присутствие в Яндекс каталоге

Приведено два варианта определения ТИЦ. Первая функция getTCY работает по принципу Yandex.Bar. Вторая, yandex_tic, делает запрос к яндекс каталогу и разбирает получившуюся страницу. Она была написана, на основе анализа кода выдаваемого Яндексом.

Определение ТИЦ с помощью запроса Yandex-Bar


<?php
$content 
file_get_contents('http://bar-navig.yandex.ru/u?ver=2&show=32&url='.$url.");
preg_match("
/value=\"(.\d*)\"/"$content$match);
$cy=$match[1];
?>
Скопировать в буфер

Еще один вариант с использованием fopen для URL:


<?php
function getBarCY($_url) {
  
$_uri "http://bar-navig.yandex.ru/u?ver=2&url=".urlencode("http://".$_url)."&show=1";
  
$fd = @fopen($_uri"r");
  if (
$fd) {
    while (
$buffer fgets($fd4096)) $haystack.=$buffer;
    
fclose($fd);
    
preg_match("/<tcy rang=\"(.*)\" value=\"(.*)\"\/>/isU",
      
$haystack,$cy);
    return (int) 
$cy[2];
  } else return 
0;
}

// Пример:
// echo getBarCY("htmlweb.ru");
?>
Скопировать в буфер
?>

Определение ТИЦ с помощью разбора страницы search.yaca.yandex.ru

Если рессурс не описан в каталоге ищется следующая последовательность:

<p><www.htmlweb.ru>: ресурс не описан в Яндекс.Каталоге</p>
<p class="errmsg">
<b>Индекс цитирования (тИЦ) ресурса — 200</b>
Если описан, код, выдаваемый Яндексом будет следующий:
<tr valign="top">
<td class="current" valign="middle"><img border="0" height="25" width="28" alt="" src="http://img.yandex.net/i/arr-hilite.gif"></td>
<td align="right" valign="middle" width="20">63.</td>
<td width="*" valign="middle">
<a href="http://www.gorod.ru/">"Город-инфо" - веб-интеграция и автоматизация</a>
<div>Управленческий консалтинг, разработка ERP-систем, программная интеграция, веб-консалтинг и дизайн. Описание продуктов. Публикации. Контакты.</div>
</td>
<td align="right">850</td>
</tr>
...

<b>Перейти на страницу</b> <a href="http://yaca.yandex.ru/yca/tungrp/cat/Computers/Internet/Web_Development/Design/3.html">каталога</a>

Проанализировав код ответа Яндекса напишем следующий парсер:


<?php
function getTCY($url)  
{  
  
//считываем XML-файл с данными  
  
$xml file_get_contents('http://bar-navig.yandex.ru/u?ver=2&show=32&url='.$url);  
  
  
//если XML файл прочитан, то возвращаем значение параметра value  
  //иначе возвращаем false - ошибка  
  
return $xml ? (int) substr(strstr($xml'value="'), 7) : false;  
}  
  

function 
yandex_tic($url){  
  
$file=file_get_contents("http://search.yaca.yandex.ru/yca/cy/ch/$url/");  
  if(
preg_match("!-\s+([0-9]{0,8})&lt;\/b&gt;!is",$file,$ok)){  
        
// сайт не в каталоге.  
            
$str=$ok[1];  
        }  
  else if(
preg_match("!&lt;td class=\"current\" valign=\"middle\"&gt;(.*?)&lt;/td&gt;\n&lt;/tr&gt;!si"$file$ok)){  
        if(
preg_match("!&lt;td align=\"right\"&gt;(.*?)&lt;/td&gt;\n&lt;/tr&gt;!si"$ok[0], $str)){  
        
// сайт в каталоге.  
                    
$str=$str[1];  
                } else {  
                    
$str=0;  
                }  
        }  
        else {  
            
$str=0;  
        }  
  
return 
trim($str);  
}   

//пример использования  
echo 'ТИЦ:'.getTCY('http://www.htmlweb.ru').'&lt;br&gt;';
echo 
'Я: '.yandex_tic("www.htmlweb.ru").'&lt;br&gt;';
?>
Скопировать в буфер
http://www.htmlweb.ru ТИЦ:200 Я: не в каталоге! http://www.gorod.ru ТИЦ:800 Я: в каталоге!

Развивая эту идею, вы можете получать со страниц Яндекса любые параметры. Но учтите, если поставите на "поток" - Яндекс вас забанит по IP.




Еще один вариант получения ТИЦ парсингом:


<?php
function yandex($url){
global 
$set;

$file=file_get_contents("http://search.yaca.yandex.ru/yca/cy/ch/$url/");
$file=iconv("UTF-8""windows-1251"$file);
///echo $file;
//Определение ТИЦ
$tica=preg_match("!ресурса меньше (.*?).!si",$file,$ok);
$tic=$ok[1];
if (
trim($tic)=='10'$tic='0';
if ( 
trim($tic)!='0' ) {
    
$tica=preg_match("!ресурса - (.*?)!si",$file,$ok);
    
$tic=$ok[1];
    }
if ( 
trim($tic)=='' ){
    
$file=file_get_contents("http://bar-navig.yandex.ru/u?ver=2&amp;show=32&amp;url=http://$url");
        
//Определение ТИЦ
        
$tica=preg_match("!value=\"(.*?)\"!si",$file,$ok);
        
$tic=$ok[1];
        }
return 
$tic;
}
?>
Скопировать в буфер

Во первых парсим мы нужный адрес, и меняем кодировку. Первое что мы проверяем, есть ли вообще ТИЦ у домена. Далее определяем, стоит ли узнавать точное значение, если переменная равна 0 то не стоит. Ну и если первым способом определить не выходит, используем второй.

подъемный стол информация форум.
Photo тюнинг ваз 2112.

© Copyright 2008-2012 by KDG