Под заголовком "Как избежать запрета" документация 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-адреса меняются при каждом сканировании и успешно выполняются до того, как запускается капча. Еще интересует, знает ли кто-нибудьрешение в соответствии с документацией или конкретным обходным путем.