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先执行

    原文作者:隆long
    原文地址: https://www.jianshu.com/p/d4668a5d3b61
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞