Использование Scrapy в кеше Google сайта - PullRequest
0 голосов
/ 27 мая 2018

Под заголовком "Как избежать запрета" документация Scrapy рекомендует :

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

Это относится к http://www.googleguide.com/cached_pages.html,, который в последний раз обновлялся в 2011 году.

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

Я заставляю паука оставаться в кеш-версии ссылок Google, используя это промежуточное ПО:

class GoogleCacheMiddleware(object):
    def process_request(self, request, spider):
    if spider.use_google_cache == True and 'googleusercontent' not in request.url:
        new_url = 'https://webcache.googleusercontent.com/search?q=cache:' + request.url
        request = request.replace(url=new_url)
        return request

В самом пауке ясканируйте вежливо с настройками, такими как:

custom_settings = {
    'AUTOTHROTTLE_ENABLE' :True,
    'CONCURRENT_REQUESTS' : 2, # or 1
    'DOWNLOAD_DELAY' : 8 # increased this to as much as 10
}

Я также пытался использовать Selenium как на исходном сайте, так и в кэшированной версии сайта Google.Иногда это может привести к сканированию в течение нескольких минут и возвращению данных, но, в конце концов, достигает значения https://support.google.com/websearch/answer/86640,, в котором говорится, что Google обнаруживает «необычный трафик» из вашей компьютерной сети, и для продолжения требуется капча.

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

ОБНОВЛЕНИЕ, 7-9-18:

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

1 Ответ

0 голосов
/ 12 июня 2018

Я не очень разбираюсь в Scrapy, но, похоже, веб-сайт блокирует просмотр кеша.Вы пытались проверить кэш с помощью https://www.seoweather.com/google-cache-search/

Вы можете обойти блокировку Google, хотя, если бы вы использовали прокси-серверы, желательно прокси-серверы с обратным соединением, так как вам понадобится много времени при очистке Google.

Другой вариант - попытаться очистить версию страницы https://archive.org/web/?На самом деле, у них даже есть API, который вы могли бы использовать https://archive.org/help/wayback_api.php

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