scrapy 如何导入设置以覆盖它
这是我的代码
class Test(Spider):
self.settings.overrides['JOBDIR']= "seen"
我得到了:
File "C:\Python27\lib\site-packages\scrapy\spider.py", line 46, in settings
return self.crawler.settings
File "C:\Python27\lib\site-packages\scrapy\spider.py", line 41, in crawler
assert hasattr(self, '_crawler'), "Spider not bounded to any crawler"
AssertionError: Spider not bounded to any crawler
我在扩展 Spider
,而且我没有使用 Crawler
,因为我没有链接或者需要遵循的规则
我猜我的问题可能是因为我没有正确导入设置,所以需要你们的帮助
2 个回答
4
根据文档,每个爬虫的单独设置可以作为一个类属性来定义,叫做custom_settings
,它应该是一个字典。在你的情况下,它看起来会像这样:
class TestSpider(Spider):
custom_settings = {'JOBDIR':"seen"}
# The rest of the spider goes here
不确定这个方法在早期版本的scrapy中是否有效。
12
要更改蜘蛛的设置,你可以:
class TestSpider(Spider):
def set_crawler(self, crawler):
super(TestSpider, self).set_crawler(crawler)
crawler.settings.set('JOBDIR','seen')
# rest of spider code