функция получения контента:
function get_content($hostname, $path)
{
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
if (!$fp)
{
echo "$errstr($errno)<br />\n";
}
else
{
$authorization=base64_encode("login:password");
$headers = "GET $path HTTP/1.1\r\n";
$headers .="Basic-Authorization: $authorization\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Connection: Close\r\n\r\n";
fwrite($fp, $headers);
while (!feof($fp))
{
$line .= fgets($fp, 1024);
}
fclose ($fp);
return $line;
}
}
использование функции:
$query = 'complex numbers';
$path = 'http://www.yandex.com/yandsearch?text='.$query.'&lr=143';
$host = 'www.yandex.com';
$content = get_content($host, $path);
echo htmlspecialchars($content);
при запросе к Гуглу или Yahoo - все работает хорошо
$path = 'http://www.google.com/search?hl=en&q='.$query;
$host = 'www.google.com';
$path = 'http://search.yahoo.com/search?p='.$query.'&toggle=1&ei=UTF';
$host = 'www.search.yahoo.com';
Спустя 13 минут, 35 секунд (15.11.2010 - 15:01) netruxa написал(а):
302 - это наверно редирект на капчу?
задержку между запросами 5 сек поставьте
а вообще у яндекса есть xml выдача, 1000 запросов в сутки можно задавать
задержку между запросами 5 сек поставьте
а вообще у яндекса есть xml выдача, 1000 запросов в сутки можно задавать
Спустя 3 минуты (15.11.2010 - 15:04) vergin написал(а):
> 302 - это наверно редирект на капчу?
У Гугла - да, у Яндекса вроде-бы нету такого
>а вообще у яндекса есть xml выдача, 1000 запросов в сутки можно задавать
я не получаю ответ ни на однин из них )) т.е. сразу идет 302 ответ
У Гугла - да, у Яндекса вроде-бы нету такого
>а вообще у яндекса есть xml выдача, 1000 запросов в сутки можно задавать
я не получаю ответ ни на однин из них )) т.е. сразу идет 302 ответ
Спустя 3 минуты, 17 секунд (15.11.2010 - 15:07) netruxa написал(а):
есть у них капча. они на все свои проекты вешают, чтоб их не парсили 
но все равно парсим. и выдачу и вордстат

но все равно парсим. и выдачу и вордстат
Спустя 2 минуты, 52 секунды (15.11.2010 - 15:10) vergin написал(а):
даже если капча и есть, то редирект на нее идет же не сразу, а после нескольких успешных запросов (по крайней мере так у Гугла). Запрос вроде-бы не похож на тот, который зачастую используют для парсинга линков
Спустя 30 минут, 53 секунды (15.11.2010 - 15:41) SlavaFr написал(а):
а ты не догадываешся почему не получается?
может они не хотят, чтоб ты в таком виде их поиск использовал, так как они защет рекламы на своем собственном сайте живут. А ты просто так хочеш ихную работу себе присвоить. Делай так как они предлогают http://api.yandex.ru/
или оставь дурную затею, так как они через неделю определят, что это с твоего сайта запросы идут и обротятся к твоему хостеру через адвоката.
может они не хотят, чтоб ты в таком виде их поиск использовал, так как они защет рекламы на своем собственном сайте живут. А ты просто так хочеш ихную работу себе присвоить. Делай так как они предлогают http://api.yandex.ru/
или оставь дурную затею, так как они через неделю определят, что это с твоего сайта запросы идут и обротятся к твоему хостеру через адвоката.
Спустя 1 час, 21 минута, 41 секунда (15.11.2010 - 17:02) FatCat написал(а):
Я пробивал защиту яндекса от парсинга, там 3 уровня защиты. С наскоку не пробить, там всерьез покопаться потребуется.
Готовый код выкладывать не буду: чем меньше народу будет парсить, тем дольше яндекс не зачешется, и тем дольше я сам смогу парсить без проблем.
Готовый код выкладывать не буду: чем меньше народу будет парсить, тем дольше яндекс не зачешется, и тем дольше я сам смогу парсить без проблем.
Спустя 3 минуты, 41 секунда (15.11.2010 - 17:06) FatCat написал(а):
Цитата (SlavaFr @ 15.11.2010 - 16:41) |
Делай так как они предлогают http://api.yandex.ru/ |
1000 запросов в сутки с одного айпишника - курам на смех.
Один хороший проект продвижения по низкочастотникам - это десятки тысяч НЧ с разбавлениями. Через апи будешь 2 месяца чекать один сайт; а за 2 месяца конкуренция изменится и прочеканное будет годиться только в треш.
Спустя 2 минуты, 11 секунд (15.11.2010 - 17:08) vergin написал(а):
готовый код и не прошу выкладывать, обьясни хотя бы, что это за 3 уровня защиты у Яши? И как Яша определяет, что запрос был отправлен с PHP скрипта, а не как обычно, через браузер?
Спустя 4 минуты, 47 секунд (15.11.2010 - 17:13) FatCat написал(а):
Цитата (vergin @ 15.11.2010 - 18:08) |
что это за 3 уровня защиты у Яши? |
1. Куки.
2. Частота запросов.
3. Постоянство интервала времени между запросами.
Спустя 35 секунд (15.11.2010 - 17:14) netruxa написал(а):
Цитата (FatCat @ 15.11.2010 - 14:06) | ||
1000 запросов в сутки с одного айпишника - курам на смех. Один хороший проект продвижения по низкочастотникам - это десятки тысяч НЧ с разбавлениями. Через апи будешь 2 месяца чекать один сайт; а за 2 месяца конкуренция изменится и прочеканное будет годиться только в треш. |
Есть сервисы, предоставляющие прокси для парсинга xml Yandexа
Спустя 1 минута, 10 секунд (15.11.2010 - 17:15) vergin написал(а):
2 и 3 думаю смогу решить, а насчет куки можешь подетальней?
Спустя 51 минута, 48 секунд (15.11.2010 - 18:06) FatCat написал(а):
Цитата (vergin @ 15.11.2010 - 18:15) |
насчет куки можешь подетальней? |
Тебя же посылали за кукой:
Цитата (vergin @ 15.11.2010 - 15:47) |
получаю http код ответа 302 |
Посмотри куда ведет редирект, увидишь kiks.yandex.ru - там у Яши ларек продажи печенья.
Спустя 16 часов, 59 минут, 47 секунд (16.11.2010 - 11:06) vergin написал(а):
string 'HTTP/1.0 301 Moved Permanently
Server: nginx
Date: Tue, 16 Nov 2010 08:04:16 GMT
Content-Type: text/html
Content-Length: 178
Location: http://yandex.com/yandsearch?text=forums&lr=143
X-Cache: MISS from ....
X-Cache: MISS from ....
Via: .....
Proxy-Connection: close
после установки задержки выполнения скрипта - стал получать 301 код ответа и в нем не вижу я редиректа
Спустя 27 минут, 9 секунд (16.11.2010 - 11:33) netruxa написал(а):
вы вкурсе, что на yandex.com и yandex.ru разная выдача?
yandex.com не парсил, поэтому не вкурсе что за 301 редирект
yandex.com не парсил, поэтому не вкурсе что за 301 редирект
Спустя 7 минут, 10 секунд (16.11.2010 - 11:41) vergin написал(а):
да, вкурсе, но я пробовал как .com, так и .ru, результат один и тот же
Спустя 1 минута, 45 секунд (16.11.2010 - 11:42) Nikitian написал(а):
Location: http://yandex.com/yandsearch?text=forums&lr=143
Это ли не адрес редиректа?
Спустя 2 минуты, 52 секунды (16.11.2010 - 11:45) vergin написал(а):
адрес редиректа совпадает с адресом запроса? )) потому что http://yandex.com/yandsearch?text=forums&lr=143 - это URL запроса на выдачу Яхе
Спустя 5 дней, 22 часа, 52 минуты, 9 секунд (22.11.2010 - 10:37) vergin написал(а):
FatCat:
Как Яша определяет, откуда идет запрос, с моего PHP-скрипта или я вручную, через строку запроса браузера, осуществляю запрос?
Как Яша определяет, откуда идет запрос, с моего PHP-скрипта или я вручную, через строку запроса браузера, осуществляю запрос?