如何在Scrapy Spider中获取管道对象

如何在Scrapy Spider中获取管道对象,第1张

如何在Scrapy Spider中获取管道对象

Scrapy管道具有open_spider方法,该方法将在初始化Spider之后执行。您可以将对数据库连接的引用,get_date()方法或管道本身传递给蜘蛛。后者与您的代码的一个示例是:

# This is my Piplineclass MongoDBPipeline(object):    def __init__(self, mongodb_db=None, mongodb_collection=None):        self.connection = pymongo.Connection(settings['MONGODB_SERVER'], settings['MONGODB_PORT'])        ....    def process_item(self, item, spider):        ....    def get_date(self):        ....    def open_spider(self, spider):        spider.myPipeline = self

然后,在蜘蛛中:

class Spider(Spider):    name = "test"    def __init__(self):        self.myPipeline = None    def parse(self, response):        self.myPipeline.get_date()

我认为此

__init__()
方法不是必需的,但我将其放在此处以表明open_spider在初始化后将其替换。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5663673.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存