не работае запрос в гугле

12
seosniks
На сайте с 13.08.2007
Offline
389
3711

Подскажите в чем может быть проблемма.

Запрос http://www.google.com/search?hl=ru&q=link:searchengines.ru работает в браузере.

Но не работает так

echo $file=file_get_contents('http://www.google.com/search?hl=ru&q=link:searchengines.ru');  

В общем не пашет оператор link:, оператор site: работает нормально.

На денвере все работает по любому.

выдает ошибку

Warning: file_get_contents() [function.file-get-contents]: HTTP request failed! HTTP/1.0 503 Service Unavailable in 1.php on line 11

Warning: file_get_contents(http://www.google.com/search?hl=ru&q=link:searchengines.ru) [function.file-get-contents]: failed to open stream: No such file or directory in 1.php on line 11

строка 11 указана выше

J
На сайте с 02.02.2009
Offline
53
#1

Скорее всего вас блочит гугл. 503 у него - это в том числе и капча.

Советую использовать Curl и отправлять ему нужные заголовки, нормальный UA и по-возможности принимать куки.

seosniks
На сайте с 13.08.2007
Offline
389
#2
jumash:
Скорее всего вас блочит гугл. 503 у него - это в том числе и капча.

Советую использовать Curl и отправлять ему нужные заголовки, нормальный UA и по-возможности принимать куки.

Блочит на оператор linlk ?

Ведь так работает нормально.

echo $file=file_get_contents('http://www.google.com');

$file=file_get_contents("http://www.google.com/search?hl=en&q=site:url.ru");

Насчет заголовков попробую.

Но не работает на разных серверах. Локально с денвера нет проблемм вообще.

[Удален]
#3

seosniks, может просто сервера уже под абузом со стороны гугля?)

seosniks
На сайте с 13.08.2007
Offline
389
#4
bearman:
seosniks, может просто сервера уже под абузом со стороны гугля?)

Не должно быть, потому как пробовал 2 разных сервера.

И проблемма именно при запросе link:

все другие операторы нормально пашут. ПРобовал парсеры разные все пашет.

Но вот оператор этот не работает почему то.

Попробую вечером еще пару сереров.

А не подскажете как узнать Забанен IP или нет.

По идее если бан то не должен индексировать гугл сайты. Но все с индексацией нормально

J
На сайте с 02.02.2009
Offline
53
#5

А вы запросите эту страницу чем-нибудь, что не срубается при !=200 коде и посмотрите что выдаётся в контенте) Курлом, например)

wdsg
На сайте с 09.02.2009
Offline
31
#6

Сейчас попробовал вот такой запрос CURL'ом:


$URL = 'http://www.google.com/search?hl=ru&q=link:searchengines.ru';
$Ch = curl_init($URL);
curl_setopt($Ch, CURLOPT_HEADER, false);
curl_setopt($Ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($Ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($Ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($Ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($Ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7');
curl_setopt($Ch, CURLOPT_REFERER, 'http://www.google.com');
$HTML = curl_exec($Ch);
echo $HTML;

На данный момент, гарантированно нарывается на 403 "We're sorry but your query looks similar to automated requests from a computer virus or spyware application". Раньше такого небыло... Я негодую :) Руками выбрасывает капчу.

Проектирование и разработка сложных IT-систем. Вожусь с проблемными задачами.
J
На сайте с 02.02.2009
Offline
53
#7

Гугл крайне параноидален, ага) Лучше капча чем такое)

wdsg
На сайте с 09.02.2009
Offline
31
#8
jumash:
Гугл крайне параноидален, ага) Лучше капча чем такое)

Да, гугл есть гугл )

Можно попробовать, перед этим запросом, сходить на главную и получить куки, которые google будет пихать, а потом с ними делать запрос... Но времени уже, к сожалению, нет.

seosniks
На сайте с 13.08.2007
Offline
389
#9
wdsg:
Да, гугл есть гугл )

Можно попробовать, перед этим запросом, сходить на главную и получить куки, которые google будет пихать, а потом с ними делать запрос... Но времени уже, к сожалению, нет.

Щас попробую с помощью кук сделать.

seosniks добавил 20.04.2009 в 16:16

Ребят как с гугла получить куки?

Я снифаком содрал запрос

Send: Return Code: 0x00000000

GET /search?hl=ru&q=link:searchengines.ru HTTP/1.1
User-Agent: Opera/9.63 (Windows NT 5.1; U; MRA 5.4 (build 02606); ru) Presto/2.1.1
Host: www.google.com
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Cookie: SS=Q0=0L_QvtC70YPRh9C40YLRjCDQutGD0LrQuCDQs9GD0LPQu9Cw; adsenseReferralSourceId=aso; adsenseReferralSubId=ww-ru-et-gaia; adsenseReferralUrl=www.google.com/accounts/ManageAccount; adsenseReferralUrlQuery=null; PREF=ID=5ffd8be6dc455ce5:U=412bca1bc75e121a:TM=1232473663:LM=1239943278:S=Mj52mdq95NoQ8bcq; SID=DQAAAH4AAAChpVQMvuwLZytXIffCXwnETL9rUn8Cd1OxYO8M_hkjBcdkFZzusDne54iVD75wKnMvBP50cdEeBnnuTVuSXZXFvW1dJjC4fCEloNoYlx-z4v6Y92RVZvSfnrcupgsqijdCi5WOOyHyVy9m9lc9sTnoo84KQSrh-Vo-oxmVUKsgmQ; NID=21=KbJ9AqsE978vX-VgXO_LRXFgT1mHqev_4rQTl7rejMwz_Ih-Z_EFrRL73ySqAfzSgGSHvLzkiAUDqP1gC_HuTMYeCeN6S_bszV3RudMxSjL1YDxwSnZoC_ZdLjsU9J-T
Cookie2: $Version=1
Connection: Keep-Alive



Receive: Return Code: 0x00000000
HTTP/1.1 200 OK
Cache-Control: private, max-age=0
Date: Mon, 20 Apr 2009 12:05:03 GMT
Expires: -1
Content-Type: text/html; charset=UTF-8
Set-Cookie: SS=Q0=bGluazpzZWFyY2hlbmdpbmVzLnJ1; path=/search
Server: gws
Transfer-Encoding: chunked
Content-Encoding: gzip

1dce
‹

Send: Return Code: 0x00000000
GET /csi?v=3&s=web&action=&ei=72TsSffiAqC6jAejya2fCg&e=17259,17311,17315,19773&rt=prt.140,xjs.156,ol.187 HTTP/1.1
User-Agent: Opera/9.63 (Windows NT 5.1; U; MRA 5.4 (build 02606); ru) Presto/2.1.1
Host: www.google.com
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: http://www.google.com/search?hl=ru&q=link:searchengines.ru
Cookie: adsenseReferralSourceId=aso; adsenseReferralSubId=ww-ru-et-gaia; adsenseReferralUrl=www.google.com/accounts/ManageAccount; adsenseReferralUrlQuery=null; PREF=ID=5ffd8be6dc455ce5:U=412bca1bc75e121a:TM=1232473663:LM=1239943278:S=Mj52mdq95NoQ8bcq; SID=DQAAAH4AAAChpVQMvuwLZytXIffCXwnETL9rUn8Cd1OxYO8M_hkjBcdkFZzusDne54iVD75wKnMvBP50cdEeBnnuTVuSXZXFvW1dJjC4fCEloNoYlx-z4v6Y92RVZvSfnrcupgsqijdCi5WOOyHyVy9m9lc9sTnoo84KQSrh-Vo-oxmVUKsgmQ; NID=21=KbJ9AqsE978vX-VgXO_LRXFgT1mHqev_4rQTl7rejMwz_Ih-Z_EFrRL73ySqAfzSgGSHvLzkiAUDqP1gC_HuTMYeCeN6S_bszV3RudMxSjL1YDxwSnZoC_ZdLjsU9J-T
Cookie2: $Version=1
Connection: Keep-Alive, TE
TE: deflate, gzip, chunked, identity, trailers



Receive: Return Code: 0x00000000
HTTP/1.1 204 No Content
Content-Length: 0
Date: Wed, 21 Jan 2004 19:51:30 GMT
Pragma: no-cache
Cache-Control: private, no-cache
Expires: Wed, 17 Sep 1975 21:32:10 GMT
Content-Type: text/html
Server: Golfe



этого достаточно чтоб получить куки курлом?

curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookies.txt'); // вроде куда сохранять

curl_setopt ($ch, CURLOPT_COOKIEFILE, 'cookies.txt'); // вроде откуда брать

[Удален]
#10

http://hell.phpdude.ru/archives/557

http://94.31.169.103/Curl.txt

можно так работать

$curl = new Curl();

$curl->init("http://google.com")->serverfriendly()->exec();

$c = $curl->init("http://google.com/search?hl=ru&q=link:searchengines.ru")->serverfriendly()->exec();

в переменной $c будет ваш контент если дело в куки конечно :)

12

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