scrapy主动退出爬虫的代码片段

self.crawler.engine.close_spider(self, '结束爬虫!')

1,此行代码是写在spider文件中的

2,虽然这一行代码会停止爬虫,但是这一行代码的停止并不是立即停止

原因是因为当我们不更改爬虫的setting.py文件的时候,默认配置是:

# Configure maximum concurrent requests performed by Scrapy (default: 16)
# CONCURRENT_REQUESTS = 32
含义就是:Scrapy downloader 并发请求(concurrent requests)的最大值,默认: 16

那么这个时候的问题来了,按照以上的写法,在队列里就已经有十几个请求了,你停止之后,这十几个请求依旧会执行下去,所以并不是立即停止,如果想改变的话,就必须改变此项配置,设为:

CONCURRENT_REQUESTS = 1
---------------------
作者:故意养只喵叫顺儿
来源:CSDN
原文:https://blog.csdn.net/qq_36745087/article/details/86624459
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/kaibo520/p/10643794.html