python - 用于测试的 Scrapy 限制请求

标签 python python-2.7 web-scraping scrapy

我一直在搜索 scrapy 文档以寻找一种方法来限制允许我的蜘蛛发出的请求数量。在开发过程中,我不想坐在这里等待我的蜘蛛完成整个爬行,即使爬行非常专注,它们仍然需要相当长的时间。

我希望能够说,“在向我正在抓取的网站发出 x 次请求后,我停止生成新请求。”

在我尝试提出自己的解决方案之前,我想知道是否有我可能错过的设置或使用框架的其他方法。

我正在考虑实现一个下载器中间件,它可以跟踪正在处理的请求数量,并在达到限制后停止将它们传递给下载器。但正如我所说,如果可能的话,我宁愿使用框架中已有的机制。

有什么想法吗?谢谢。

最佳答案

您正在寻找 CLOSESPIDER_PAGECOUNT setting of the CloseSpider extension :

An integer which specifies the maximum number of responses to crawl. If the spider crawls more than that, the spider will be closed with the reason closespider_pagecount. If zero (or non set), spiders won’t be closed by number of crawled responses.

关于python - 用于测试的 Scrapy 限制请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30928177/

相关文章:

python - 为什么 pandas.read_excel 不能运行?

python - 获取 CIDR 格式的下一个子网

java - 如何通过Java程序读取网页内容?

python - 使用 bs4 进行网页抓取时,结果始终为 None

python - 从 scipy CSR 稀疏矩阵访问值、列索引和 row_ptr 数据

python - 有什么方法可以检测用户代理是来自浏览器还是应用程序?

python - PyDev + gurobipy + Fedora 18 = 导入错误

javascript - 提取 Javascript 数组

python - 如何使用 itertools groupby 进行打印?

python - Pyspark drop_duplicates(keep=False)