我是 Scrapy 的新手,对 Python 不是很了解。我已经设置了一个抓取器来从网站上抓取数据,但是虽然我使用的是代理,但如果同一个代理被使用太多次,那么我的请求会显示一个页面,告诉我我访问太多页面的速度太快了(HTTP 状态代码 200)。
正如我的抓取工具所看到的页面状态代码一样,它没有找到所需的数据并移至下一页。
我可以通过 HtmlXPathSelector 确定这些页面何时显示,但是我如何向 Scrapy 发出重试该页面的信号?
最佳答案
Scrapy 自带一个内置的 retry
middleware .您可以将其子类化并覆盖 process_response
方法包括检查是否显示告诉您您访问太多页面太快的页面
关于python - 我如何有条件地重试并重新抓取 Scrapy 中的当前页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15602857/