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在初始化后将其替换。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)