我试图通过Scrapy刮掉亚马逊。 但我有这个错误
DEBUG: Retrying <GET http://www.amazon.fr/Amuses-bouche-Peuvent-b%C3%A9n%C3%A9ficier-dAmazon-Premium-Epicerie/s?ie=UTF8&page=1&rh=n%3A6356734031%2Cp_76%3A437878031>
(failed 1 times): 503 Service Unavailable
我认为这是因为=亚马逊非常擅长检测机器人。 我该如何防止这种情况?
我在每次请求之前都使用了time.sleep(6)
。
我不想使用他们的API。
我尝试使用tor和polipo
答案 0 :(得分:6)
您必须非常小心亚马逊并遵循亚马逊使用条款和与网络抓取相关的政策。
亚马逊非常擅长禁止机器人的IP。你不得不调整DOWNLOAD_DELAY
和CONCURRENT_REQUESTS
来减少网站访问次数,成为一个抓好网络的公民。而且,您需要轮换IP地址(例如,您可以查看crawlera)和user agents。
答案 1 :(得分:1)
这对你来说也很有意思,basic scrapy setup有两个中间件,一个用于随机IP地址,第二个用于随机用户代理。