Всем кто парсит гугл, хорошо известно такое неприятное явление, как бан гугла на запросы. Наступает он, если запускать много запросов подряд, а иногда даже много запросов делать не надо, достаточно сделать один, но заковыристый. :) Чтобы выйти из ситуации, есть несколько способов. Для начала, стоит упомянуть о дырке в тулбарном запросе, которая сейчас уже не работает, но раньше позволяла парсить гугл до бесконечности. Внутри тулбара делался некий специальный запрос (который сейчас нет смысла приводить, поскольку не работает), который не обрабатывался “ограничителем запросов” и который видимо кто-то вытянул снифером и пользовался. Сам я узнал об этом секрете уже после того как он перестал работать, так что кроме удивления мне никакой пользы с него не было. :)  Это я к тому, что вполне возможно что-то похожее существует и по сей день, просто мы, простые люди, про это не знаем. Теперь переходим к тому, что доступно всем.
Во-первых, чтобы уменьшить вероятность быть забаненным, можно раскидывать запросы по разным датацентрам. Список живых датацентров гугла можно взять у меня на сайте, он периодически проверяется. Вероятно, из списка стоит отобрать только американские датацентры, чтобы уменьшить искажения от разницы в региональной выдаче.
Во-вторых, запрашивать можно с помощью прокси, чем болье прокси тем больше и быстрее можно парсить. Kiwi как-то предлагал парсер, который делал 1000 запросов в минуту, причём без остановки 24х7. В сумме это наверное давало поток запросов как немаленький город, тото в гугле наверное удивлялись, откуда новый город появился. :) Очень приятный момент, что для этого можно использовать прозрачные прокси, которые для всех других дел не имеют никакой ценности.
В-третьих, если нужен маленький однопоточный парсерок, то уменьшить вероятность бана можно запоминая (и используя) куку, которую присылает гугл. Без куки банится гораздо быстрей, чем с ней. Мелочь, но приятная. :)

На последок расскажу как парсить Яхо, ужасный и страшный, который банит после 10-15 автоматических запросов. Оказывается там есть АПИ, наподобие старого гугловского SOAP API, только во-первых без мутного SOAPа, а во-вторых с ограничением не в тыщу, а в 10 тыщ запросов в сутки. Вот она, польза конкуренции! :) 10 тыщ запросов мне лично хватает для всех моих нужд.

Похожие посты