Scrapy Settings(设置)概述
1.介绍
Settings.py文件允许自定义所有Scrapy组件的行为,包括core,extensions,pipelines,spiders本身。
Settings的基础结构提供了键值映射的全局命名空间,可以在代码中使用该命名空间从中提取配置值。
2. 填充Settings
可以使用不同的机制填充Settings,每个机制具有不同的优先级。以下是它们按优先级降序排列:
-
命令行选项(最高优先级)
-
每个蜘蛛(spider文件)的设置
-
项目模块设置
-
每个命令的默认设置
-
默认全局设置(优先级较低)
# 命令行选项 -s or --set scrapy crawl myspider -s LOG_FILE=scrapy.log #每个spider设置 class MySpider(scrapy.Spider): name = 'myspider' custom_settings = { 'SOME_SETTING': 'some value', } #项目模块设置 settings.py文件中添加或更改设置
第4,5点暂不需要去设置
3.访问Settings
在spider中,Settings可以通过self.settings获得
class MySpider(scrapy.Spider): name = 'myspider' start_urls = ['http://example.com'] def parse(self, response): print(f"Existing settings: {self.settings.attributes.keys()}")