0

我已经建立了一个 Scrapy 扩展。我正在从我的 Scrapy 项目的 settings.py 文件中调用我的扩展。现在我想将参数或值传递给这个 SpiderDetails 类。我怎样才能做到这一点?我的 settings.py 文件代码如下: EXTENSIONS = { 'tellercoins.extensions.SpiderDetails': 1000, }

4

1 回答 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 回答