Проблемма с yahoo

SE
На сайте с 11.02.2007
Offline
13
459

Есть скрипт(см. ниже) для получения количества проиндексированных страниц сайта в yahoo.

Все ничего, только yahoo выдает скрипту одно количестово ссылок, а когда смотришь в ручную то совсем другое. Помогите обхитрить yahoo.

////////////////////////////////////////////////////////////////////////////////

function get_content($hostname, $path)

{

$line = "";

global $line;

$fp = fsockopen($hostname, 80, $errno, $errstr, 30);

if (!$fp) $line = "Сервер не доступен";

else

{

$headers = "GET $path HTTP/1.1\r\n";

$headers.= "Host: $hostname\r\n";

$headers.= "User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1\r\n";

$headers.= "Accept-Language: ru,en;q=0.7\r\n";

$headers.= "Referer: <a href="http://" target="_blank">http://</a>".$hostname.$path."\r\n";

$headers.= "Connection: Close\r\n\r\n";

fwrite($fp,$headers);

while (!feof($fp))

{

$line.= fgets($fp, 1024);

}

fclose($fp);

}

return $line;

}

////////////////////////////////////////////////////////////////////////////////

$site = "rambler.ru";

$hostname = "siteexplorer.search.yahoo.com";

$path = "/search?ei=UTF-8&bwm=p&bwmf=a&bwms=p&searchbwm=Explore+URL&p=http%3A%2F%2F$site";

get_content($hostname, $path);

$patern = "#of about <strong>((.)+)</strong>#i";

if (preg_match($patern, $line, $line))

{

$line = "$line[1]";

$line = str_replace (',', '', $line);

$line = trim($line);

}

else

{

$line = 0;

}

echo "Yahoo: ";

echo "<a href=\"http://siteexplorer.search.yahoo.com/search?ei=UTF-8

&bwm=p&bwmf=a&bwms=p&searchbwm=Explore+URL&p=http%3A%2F%2F$site\" target=\"_blank\">";

echo"$line</a><br>";

Обмен ссылками Авто-Мото, Пишу PHP скрипты любой сложности, Продажа Запчастей на Японские Авто и Спецтехнику
SE
На сайте с 11.02.2007
Offline
13
#1
S.E.O:
$headers.= "Referer: <a href="http://" target="_blank">http://</a>".$hostname.$path."\r\n";

читать как $headers.= "Referer: http://".$hostname.$path."\r\n";

deleon
На сайте с 16.09.2004
Offline
173
#2
S.E.O:
Все ничего, только yahoo выдает скрипту одно количестово ссылок, а когда смотришь в ручную то совсем другое. Помогите обхитрить yahoo.

Регулярка у тебя кривая. Так все работает:

  

if(preg_match('~of about <strong>(.*)<\/strong>~i', $content, $res))
{
$line = $res[1];
$line = str_replace (',', '', $line);
$line = trim($line);
}
else
{
$line = 0;
}

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий