Опять гугл
15-09-2005 15:31
к комментариям - к полной версии
- понравилось!
Не проработал у меня парсер гугля и пары недель как гугл быстренько все просек. Сначала просто банил по ip, а потом вообще стал отсылать не те страницы. У меня есть такая идея. Гугл перед тем как посылает страницы шлет запрос браузеру, в котором посылает куки. А потом браузер эти куки воспроизводит. В скрипте нужно использовать сокеты. Как я понимаю, нужно делать примерно так: скрипт соединяется с гуглой, шлет юзер агента какого нибудь браузера, затем принимает куки, отсоединяется и посылает принятые куки. И все это выглядет примерно так:
$fs=fsockopen('www.google.com',80);
$get="GET ".urlencode($q)."&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=lang_ru HTTP/1.0\r\n".
"Accept:*/*\r\n".
"Accept-Language:ru\r\n".
"User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2; .NET CLR 1.1.4322)\r\n".
"Host:search.rambler.ru\r\n".
"Connection:Keep-Alive\r\n".
"\r\n";
fputs($fs,$get);
$t=fread($fs,10000);
fclose($fs);
preg_match("#Set\-Cookie\: ruid\=([a-zA-Z0-9\=]{20,30})\;#",$t,$ret);
Но проблема в том, что нужно как-то разорвать соединение, и вновь присоединиться к гуглу... Может, кто-то сталкивался с подобной проблемой?
вверх^
к полной версии
понравилось!
в evernote