Парсер выдачи гугла

12
C
На сайте с 24.07.2005
Offline
34
3574

При большом количестве запросов к google.com с php скрипта, google на время "блокирует" эти действия..

Пример:

url="http://www.google.com/search?q=site%3Anet+inurl%3Asign+HyperBook&filter=1&start=100&num=100"

пример php кода:

<?php
$url = "http://www.google.com/search?q=site%3Anet+inurl%3Asign+HyperBook&filter=1&start=100&num=100";
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_COOKIE, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);

$content = curl_exec($ch);
curl_close($ch);
echo $content;
?>

в таком случае google "говорит":

302 Moved

The document has moved here.

Если многократно выполнить этот скрипт google напишет:
"Приносим наши извинения...
.. но в настоящий момент мы не можем рассмотреть Вашу заявку. Компьютерный вирус или шпионское ПО посылает нам автоматические заявки, и, возможно, Ваш компьютер или сеть были заражены..."

Блокирует даже если с каждым запросом менять proxy и добавлять задержку 10-15 секунд.

Подскажите пожалуйста, что я неправильно делаю? :gm:

Serboy
На сайте с 29.09.2005
Offline
94
#1
chill:

Подскажите пожалуйста, что я неправильно делаю? 😒

Не знаю, как Вы меняете прокси, но ответ все ж похож на: черезчур часто/много спрашиваете с одного ip.. Я бы тоже это дело мониторил, и блокировал.

dkameleon
На сайте с 09.12.2005
Offline
386
#2

Serboy, не меняет он прокси :)

chill, Для парсинга гугля вам необходимо меня прокси, иначе вас попросту гугль забанит, что и произошло, как я вижу.

Ещё нужно:

			curl_setopt($ch, CURLOPT_PROXY, $proxy);

Дизайн интерьера (http://balabukha.com/)
C
На сайте с 24.07.2005
Offline
34
#3
Блокирует даже если с каждым запросом менять proxy и добавлять задержку 10-15 секунд.

Пример тут урезанный немного просто. Прокси я-таки меняю перед каждым новым запросом к гуглу.

dkameleon
На сайте с 09.12.2005
Offline
386
#4
chill:
Пример тут урезанный немного просто. Прокси я-таки меняю перед каждым новым запросом к гуглу.

Может, потому что прокси не анонимные?

Или неужели гугль стал однотипные запросы с разных айпих блочит? 😕

Помнится, когда я писал подобное (год-полтора назад), то никаких проблем не было.

C
На сайте с 24.07.2005
Offline
34
#5

Прокси 100% анонимные.

Вообще действия мои выглядит следующим образом:

  • Я вытягиваю первую страницу выдачи через прокси вот таким запросом http://google.com/search?q=test&filter=1&start=0&num=100
  • Я переключаю прокси и вытягиваю вторую страницу http://google.com/search?q=test&filter=1&start=100&num=100. На этом этапе мне выдается страница "302 Moved. The document has moved here." Слово "here" является ссылкой. Причем иногда это ссылка действительно ведет на 2-ую страницу выдачи, а иногда - на страницу, где Гугл рассказывает что мой IP заблокирован и просит ввести капчу

Я беру другой прокси - и все повторяется....

R
На сайте с 04.11.2005
Offline
113
#6

могу предположить, что теми проксями, что пользуешься ты, пользуются и тысячи других любителей пропарсить гуглю. в итоге адрес прокси заблокирован. кстати, помнится был запрос, по которому гугля дальше второй страницы не пускала. это было связано с одной обнаруженной уязвимостью

C
На сайте с 24.07.2005
Offline
34
#7

Очень, очень на то похоже. Если пытаюсь парсить без проксей - все просто летает.

На блокировку конкретных проксей указывает еще один фактор. Когда я прописываю прокси в своем браузере и начинаю лазить по сайтам - все ок до тех пор, пока я не захожу на Гугл. Гугл не пускает к себе через некоторые прокси!

M
На сайте с 21.11.2004
Offline
230
#8

Ну дык правильно :D Пользуйся платными, благо не дорого стоит.

Продвигаю домены руками (http://roke.ru)
mstar
На сайте с 19.12.2005
Offline
133
#9

Может не в тему: но еще у гугли есть АПИ для этих целей, чтоб не надо было хитрить.

То есть каждый пользователь вашего сервиса юзает свой гуггл кей - и все довольны. Или предоставляете пользователю установить код на его сервак и парсить результаты не с гугла, а с сервера пользователя.

Разработка сайтов (http://www.mstarproject.com/?action=tecdoc_mysql_site) - удобные веб приложения по разумной цене.
C
На сайте с 24.07.2005
Offline
34
#10

АПИ это конечно хорошо, вот только парсить мне нужно гораздо болше и чаще, чем этот АПИ позволяет 🚬

12

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