scrapy 信号槽的使用

scrapy文档讲了scrapy的信号,但没有说明具体怎么用,下面是实例

在spider类下

from scrapy.xlib.pydispatch import dispatcher
from scrapy import signals
def __init__(self):
    dispatcher.connect(self.spider_stopped, signals.engine_stopped)##建立信号和槽,在爬虫结束时调用
    dispatcher.connect(self.spider_closed, signals.spider_closed)##建立信号和槽,在爬虫关闭时调用
    
    #爬虫关闭时 调用本方法
    def spider_closed(self):
        print("i close")

    #爬虫结束时 调用本方法
    def spider_stopped(self):
        print("i done")

spider类初始化时就绑定了两个方法,spider_closedspider_stopped

注意, signals.spider_closed比signals.engine_stopped先执行

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 总结一下之前的spider,总的来说,Spider类就是定义了如何爬取某个(或某些)网站。包括了爬取的动作以及如何...
    王小鱼鱻阅读 1,248评论 0 2
  • 引言 在上篇使用Scrapy爬取知乎用户信息我们编写了一个单机的爬虫,这篇记录了使用Scrapy-Redis将其重...
    朱晓飞阅读 6,742评论 1 24
  • scrapy学习笔记(有示例版) 我的博客 scrapy学习笔记1.使用scrapy1.1创建工程1.2创建爬虫模...
    陈思煜阅读 12,798评论 4 46
  • scrapy是python最有名的爬虫框架之一,可以很方便的进行web抓取,并且提供了很强的定制型,这里记录简单学...
    bomo阅读 2,175评论 1 11
  • 记录:《阿》昨晚看到198页,今晚看到251页。一切正常,本周内可结束《阿》的阅读。应要求其周末完成阅读笔记,下周...
    Friz阅读 93评论 0 0