Очистить все результаты поиска Google на основе определенных критериев? - PullRequest
0 голосов
/ 19 марта 2012

Я работаю над своим картографом, и мне нужно получить полную карту newegg.com

Я мог бы попытаться отказаться от NE напрямую (что нарушает политику NE), но у них есть много продуктов, которые недоступны через прямой поиск NE, но только через поиск google.com; и мне тоже нужны эти ссылки.

Вот строка поиска, которая возвращает 16 миллионов результатов: https://www.google.com/search?as_q=&as_epq=.com%2FProduct%2FProduct.aspx%3FItem%3D&as_oq=&as_eq=&as_nlo=&as_nhi=&lr=&cr=&as_qdr=all&as_sitesearch=newegg.com&as_occt=url&safe=off&tbs=&as_filetype=&as_rights=

Я хочу, чтобы мой скребок просматривал все результаты и регистрировал гиперссылки на все эти результаты. Я могу удалить все ссылки из результатов поиска Google, но у Google есть ограничение в 100 страниц для каждого запроса - 1000 результатов, и опять же, Google не доволен этим подходом. :)

Я новичок в этом; Не могли бы вы посоветовать / указать мне правильное направление? Существуют ли какие-либо инструменты / методологии, которые могут помочь мне в достижении моих целей?

Ответы [ 3 ]

2 голосов
/ 19 марта 2012

Я новичок в этом;Не могли бы вы посоветовать / указать мне правильное направление?Существуют ли какие-либо инструменты / методология, которые могли бы помочь мне в достижении моих целей?

Google предпринимает много шагов, чтобы запретить вам сканировать их страницы, и я не говорю просто о том, чтобы вы следовалиих robots.txt.Я не согласен с их этикой, ни с их T & C, ни даже с «упрощенной» версией, которую они выдвинули (но это отдельная проблема).

Если вы хотите, чтобы вас видели, тогда вы должны разрешить Google сканировать вашу страницу; однако, если вы хотите сканировать Google, вам придется перепрыгивать через некоторые важные обручи!А именно, вам нужно получить несколько прокси, чтобы вы могли преодолеть ограничение скорости и страницы с 302 + капчей, которые они публикуют в любое время, когда они подозревают вашу «активность».

Несмотря на то, что я серьезно усугубляю условия использования Google, я НЕ рекомендую вам его нарушать! Однако, если вам абсолютно необходимо получить данные , вы можете получитьбольшой список прокси , загружайте их в очередь и извлекайте прокси из очереди каждый раз, когда вы хотите получить страницу.Если прокси работает, поместите его обратно в очередь;в противном случае откажитесь от прокси.Может быть, даже дать счетчик для каждого отказавшего прокси-сервера и сбросить его, если он превышает некоторое количество отказов.

1 голос
/ 19 марта 2012

Я не пробовал, но вы можете использовать googles API пользовательского поиска . Конечно, он начинает стоить денег после 100 поисков в день. Я предполагаю, что они должны управлять бизнесом; p

0 голосов
/ 08 мая 2014

Может быть, немного поздно, но я думаю, что стоит упомянуть, что вы можете профессионально очистить Google надежно и не вызывать проблем с ним.

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

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

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

Теперь, если вы не принимаете Googles TOS или игнорируете его (им не было дела до вашего TOS, когда вы брали у вас при запуске), вы можете пойти другим путем.
Имитировать реального пользователя и получить данныепрямо из поисковой выдачи.

Ключом здесь является отправка около 10 запросов в час (может быть увеличено до 20) с каждого IP-адреса (да, вы используете более одного IP-адреса).За последние годы эта сумма не вызывала проблем с Google.
Используйте кэширование, базы данных, управление ротацией ip, чтобы избежать его использования чаще, чем требуется.
IP-адреса должны быть чистыми, неразделенными и, если возможно,без оскорбительной истории.
Первоначально предложенный список прокси-серверов значительно усложнит тему, поскольку вы получаете нестабильные, ненадежные IP-адреса с сомнительным злоупотреблением, совместным использованием и историей.

На http://scraping.compunect.com существует PHP-проект с открытым исходным кодом, который содержит все функции, необходимые для запуска, я использовал его для своей работы, которая теперь работает без проблем в течение нескольких лет.Это готовый проект, который в основном построен для использования в качестве настраиваемой базы вашего проекта, но также работает автономно.

Также PHP не является плохим выбором, я изначально был настроен скептически, но в течение двух лет я запускал PHP (5) в качестве фонового процесса без единого перерыва.
Производительность легко достаточно хороша для такого проектапоэтому я бы попробовал.
В противном случае PHP-код похож на C / JAVA .. вы можете увидеть, как все делается, и повторить их в своем собственном проекте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...