scrapy 主动退出

scrapy框架提供了几个退出条件参数,用于在满足某些条件时提前退出爬虫,这几个参数有:

CLOSESPIDER_ITEMCOUNT = 10000  # 生成10000个item后退出
CLOSESPIDER_TIMEOUT =100   # 超时100秒退出
CLOSESPIDER_PAGECOUNT = 20000 # 收到20000个response后退出
CLOSESPIDER_ERRORCOUNT = 100 # 发生100个错误后退出

参考scrapy源代码,爬虫退出是调用了scrapy引擎的close_spider方法,因此,可以在pipeline中显式调用,用于控制主动退出

class Pipeline(object):
    @classmethod
    def from_crawler(cls, crawler):
        return cls(crawler)

    def __init__(self, crawler):
        self.crawler = crawler

    def process_item(self, item, spider):
        # if 满足退出条件
        self.crawler.engine.close_spider(spider, "退出原因")
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 说起写爬虫,大多数第一时间想到的就是python了。python语法简洁明了,加上及其丰富好用的库,用它来写爬虫有...
    疯狂的哈丘阅读 8,407评论 1 15
  • scrapy是python最有名的爬虫框架之一,可以很方便的进行web抓取,并且提供了很强的定制型,这里记录简单学...
    bomo阅读 2,378评论 1 11
  • scrapy框架Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广...
    糖炒栗子_01c5阅读 3,023评论 0 2
  • 创建一个Scrapy项目 1.创建项目文件夹tutorial 2.创建Spider类 Spider的用法 使用命令...
    天凉玩个锤子阅读 471评论 0 1
  • 今天徒步第四天,天气晴,紫石乡比家好客栈在景区,客栈环境真是不错,老板老板娘非常热心,景区四周被大山围绕,还有条大...
    黑猫警长1990阅读 292评论 0 5

友情链接更多精彩内容