我正在使用scrapy 1.5,并且以编程方式尝试通过python脚本运行scrapy搜寻器进程。作为此过程的一部分,我需要导入搜寻器设置并覆盖其某些参数。
我发现此导入语句可以满足我的需求
from scrapy.conf import settings
问题是,这可行,但还会产生以下弃用警告:
ScrapyDeprecationWarning: Module `scrapy.conf` is deprecated, use `crawler.settings` attribute instead
所以我猜这是针对某些旧版本的。收到警告后,我尝试访问scrapy.crawler.settings
,但是它不存在(或者,经过一些搜索后找不到)。
如何解决此警告?
答案 0 :(得分:6)
这只是顺便提及,但我在official documentation中找到了正确的方法。
您可以使用get_project_settings
通过项目设置获取一个Settings
实例:
from scrapy.utils.project import get_project_settings
SETTINGS = get_project_settings()
SETTINGS
# {'AJAXCRAWL_ENABLED': False, 'AUTOTHROTTLE_DEBUG': False, ...'USER_AGENT': 'Scrapy/1.5.0 (+https://scrapy.org)'}
然后您可以根据需要对其进行修改,然后再将其传递给CrawlerProcess
。