ScrapyDeprecationWarning:模块`scrapy.conf`已弃用,请改用`crawler.settings`属性

cs9*_*s95 0 python scrapy web-scraping python-3.x

我正在使用scrapy 1.5并且我正在以编程方式尝试通过python脚本运行scrapy爬虫程序.作为其中的一部分,我需要导入爬虫设置并覆盖其一些参数.

我发现这个import语句可以满足我的需求:

from scrapy.conf import settings
Run Code Online (Sandbox Code Playgroud)

问题是,这有效,但也会产生以下弃用警告:

ScrapyDeprecationWarning: Module `scrapy.conf` is deprecated, use `crawler.settings` attribute instead
Run Code Online (Sandbox Code Playgroud)

所以我猜这是一些旧版本.警告之后,我试图访问scrapy.crawler.settings,但这不存在(或者,经过一些搜索我找不到它).

我该如何解决此警告?

cs9*_*s95 8

这只是顺便提一下,但我在官方文档中找到了正确的方法.

您可以使用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)'}
Run Code Online (Sandbox Code Playgroud)

然后,您可以根据需要对其进行修改,然后再将其传递给CrawlerProcess.