|
|
|
| Пытаюсь получить список ссылок сайтов ссылающихся на определенный сайт (бэклинки чтоли). Пользуюсь следующим скриптом:
<?
function recursion($url)
{
$contents = file_get_contents($url);
echo '<b>Адрес страницы:</b><br> '.$url.'<br>';
$pattern = "|<li value[^<]+<[^<]+<A[\s]+href=\"([^\"]*)[^>]*|is";
preg_match_all($pattern, $contents, $out, PREG_PATTERN_ORDER);
for($j = 0; $j < count($out[1]); $j++)
{
$arr = parse_url($out[1][$j]);
$cur_url = str_replace("www.", "", $arr['host']);
echo $cur_url."<br>";
}
$pattern = "|<a id=\"next_page\" href=\"([^\"]*)[^>]*|is";
if (preg_match($pattern, $contents, $links))
recursion('http://yandex.ru'.$links[1]);
else
return;
}
$site = "www.web-fuzion.ru";
$url = "http://www.yandex.ru/yandsearch?Link=http://$site&iserverurl=http://$site&viddoc=url&tb=1&numdoc=40";
recursion($url);
?>
|
Получаю странные результаты: при выводе 50 ссылок на страницу (параметр $numdoc в запрсе), скрипт находит 50 сайтов, при 40 - 80 сайтов, при 30 - 90 и т.д. НО все равно не все ссылки. Может кто-нибудь сталкивался ? | |
|
|
|
|
|
|
|
для: jonnik
(24.12.2006 в 15:39)
| | Ну Яндекс не все ссылки показывает. Он по ходу листания что то склеивает. Соответсвенно результаты разные может выдавать. Попробуйте вручную посмотреть и потом сравнить | |
|
|
|