在调用start_request之前,在open_spider中设置spider变量

时间:2016-04-07 12:52:04

标签: python scrapy

我正在尝试从MySQL数据库填充start_urls。 在管道中我有这个方法

def open_spider(self, spider):
    return self.dbpool.runInteraction(self.get_items, spider)

在get_items方法中,我从数据库中获取项目并设置变量 像这样:

rows = conn.fetchall()
spider.items = rows

但是在我的蜘蛛的start_requests方法中,没有设置spider.items。 看起来start_requests方法没有在open_spider方法中等待。

我知道可以在start_request中进行数据库调用,但我喜欢使用管道完成所有查询。所以我的问题是: 是否有方法在调用start_requests之前从管道设置spider变量,或者我真的需要在start_request中进行数据库调用吗?

提前致谢!

0 个答案:

没有答案