我已经建立了一个 Scrapy 扩展。我正在从我的 Scrapy 项目的 settings.py 文件中调用我的扩展。现在我想将参数或值传递给这个 SpiderDetails 类。我怎样才能做到这一点?我的 settings.py 文件代码如下: EXTENSIONS = { 'tellercoins.extensions.SpiderDetails': 1000, }
问问题
831 次
1 回答
1
定义你的蜘蛛
class MySpider(BaseSpider):
name = 'myspider'
def __init__(self, var, **kw):
super(MySpider, self).__init__()
self.var = var
定义你的扩展:
class SpiderDetails(object):
def __init__(self):
pass
@classmethod
def from_crawler(cls, crawler):
o = cls()
crawler.signals.connect(o.spider_opened, signal=signals.spider_opened)
return o
def spider_opened(self, spider):
# access your variable here
print spider.var
将变量传递给蜘蛛
$ scrapy crawl myspider -a var=value
于 2013-10-18T09:53:22.693 回答