我一直在搜寻草率的文档,以寻找一种方法来限制我的蜘蛛可以发出的请求数量。在开发过程中,我不想坐在这里等蜘蛛完成整个爬网,即使爬网非常集中,它们仍然可能需要一段时间。
我希望能够说:“在向站点抓取了x个请求之后,我停止生成新请求。”
我想知道是否有某种设置我可能会错过,或者使用其他方法使用框架来完成,然后再尝试提出自己的解决方案。
我正在考虑实现一个下载程序中间件,该中间件将跟踪正在处理的请求的数量,并在达到限制后停止将其传递给下载程序。但是就像我说的,如果可能的话,我宁愿在框架中使用一种机制。
有什么想法吗?谢谢。
您正在寻找扩展名的CLOSESPIDER_PAGECOUNT设置CloseSpider:
CLOSESPIDER_PAGECOUNT
CloseSpider
一个整数,指定要爬网的最大响应数。如果蜘蛛爬行的次数超过了该数量,则蜘蛛会因故被关闭closespider_pagecount。如果为零(或未设置),则抓取的响应数不会关闭蜘蛛。
closespider_pagecount