码迷,mamicode.com
首页 > 其他好文 > 详细

爬虫自定义扩展-信号

时间:2018-03-24 16:32:45      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:hid   sed   class   ext   技术   利用   code   turn   raw   

利用信号在指定的位置注册指定操作

 

技术分享图片
from scrapy import signals


class MyExtension(object):
    def __init__(self, value):
        self.value = value

    @classmethod
    def from_crawler(cls, crawler):
        val = crawler.settings.getint(MMMM)
        ext = cls(val)

        crawler.signals.connect(ext.spider_opened, signal=signals.spider_opened)
        crawler.signals.connect(ext.spider_closed, signal=signals.spider_closed)

        return ext

    def spider_opened(self, spider):
        print(open)

    def spider_closed(self, spider):
        print(close)
View Code

 

#在scrapy中注册信号,spider_opend

crawler.signals.connect(ext.spider_opened, signal=signals.spider_opened)

#在scrapy中注册信号,spider_closed
crawler.signals.connect(ext.spider_closed, signal=signals.spider_closed)

 

#出发信号时,执行的函数

ext.spider_opened,  ext.spider_closed

def opend(self,spider):
    print(‘open‘)

def closed(self,spider):
    print(‘close‘)

 

setting中注册类的路径

# EXTENSIONS = {
#     # ‘step8_king.extensions.MyExtension‘: 500,
# }

爬虫自定义扩展-信号

标签:hid   sed   class   ext   技术   利用   code   turn   raw   

原文地址:https://www.cnblogs.com/catherine007/p/8639339.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!