Вы уже приняли ответ, в любом случае, если вы все еще находитесь в своем проекте:
Как уже отмечалось, Google не любит парсинга. Это запрещено их условиями, поэтому, если вы согласились с ними, вы нарушаете их автоматическим доступом к сайту. Однако сам Google не заботился о разрешении доступа к веб-сайтам при их запуске. Даже Bing работал на Google и был пойман на этом, я думаю, что большинство других поисковых систем также заимствуют у Google.
Если вам нужно очистить Google, держите скорость ниже их коэффициента обнаружения. Не забивайте их, так как это только закрепит ваш проект, и Google будет больше беспокоиться об автоматическом доступе, который может усложнить нам жизнь в целом.
По моему опыту, вы можете получить доступ к Google со скоростью от 15 до 20 запросов в час (с одного IP) в течение длительного времени без блокировки. Конечно, ваш код должен имитировать браузер и вести себя правильно. Более высокие ставки приведут к тому, что вас заблокируют, сначала (обычно) по временной капче. Решение капчи создает файл cookie, который позволяет вам продолжить. Я видел долговременные капчи и постоянные блокировки одного IP и больших подсетей. Итак, правило № 1: не быть обнаруженным, если вас обнаружат, автоматически остановите парсер.
Так что это немного сложно, но если вы полагаетесь на получение данных таким образом, взгляните на проект PHP с открытым исходным кодом по адресу http://scraping.compunect.com/ Это код PHP, который может очищать несколько ключевых слов и несколько страниц и управлять IP-адресами, чтобы они не блокировались. Я использую этот код для проектов, пока он работает.
Если вам просто нужно собрать небольшой объем данных из Google и реальный рейтинг не важен, взгляните на их API. Если ранжирование имеет значение или вам нужно много данных, вам понадобится парсер Google, подобный тому, на который я дал ссылку.
Кстати, PHP вполне подходит для этой задачи, но запускать его нужно как локальный скрипт, а не через Apache.
person
John
schedule
28.03.2014