2021SC@SDUSC
这篇博客将讲述Settings的使用
一.指定设定
使用Scrapy时,您需要声明所使用的设定。这可以通过使用环境变量: SCRAPY_SETTINGS_MODULE
来完成。
SCRAPY_SETTINGS_MODULE
必须以Python路径语法编写, 如 myproject.settings
。 注意,设定模块应该在 Python import search path 中。
二.获取设定值
设定可以通过多种方式设置,每个方式具有不同的优先级。 下面以优先级降序的方式给出方式列表:
- 命令行选项(Command line Options)(最高优先级)
- 每个spider的设定
- 项目设定模块(Project settings module)
- 命令默认设定模块(Default settings per-command)
- 全局默认设定(Default global settings) (最低优先级)
三.如何访问设定
设定可以通过Crawler的 scrapy.crawler.Crawler.settings 属性进行访问。其由插件及中间件的 from_crawler
方法所传入:
class MyExtension(object):
@classmethod
def from_crawler(cls, crawler):
settings = crawler.settings
if settings['LOG_ENABLED']:
print "log is enabled!"