1。命令行选项¶命令行提供的参数是最优先的参数,覆盖了任何其他选项。您可以使用 例子:: scrapy crawl myspider -s LOG_FILE=scrapy.log
2。每个蜘蛛的设置¶蜘蛛(请参阅 蜘蛛 章节以供参考)可以定义其自己的设置,这些设置将优先于并覆盖项目设置。它们可以通过设置它们的 class MySpider(scrapy.Spider):
name = 'myspider'
custom_settings = {
'SOME_SETTING': 'some value',
}
三。项目设置模块¶项目设置模块是碎屑项目的标准配置文件,它将填充大部分自定义设置。对于标准的Scrapy项目,这意味着您将在 4。每个命令的默认设置¶各 Scrapy tool 命令可以有自己的默认设置,这将覆盖全局默认设置。这些自定义命令设置在 5。默认全局设置¶全局默认值位于 导入路径和类¶2.4.0 新版功能. 当设置引用要由scray导入的可调用对象(如类或函数)时,可以使用两种不同的方法指定该对象:
例如:: from mybot.pipelines.validate import ValidateMyItem
ITEM_PIPELINES = {
# passing the classname...
ValidateMyItem: 300,
# ...equals passing the class path
'mybot.pipelines.validate.ValidateMyItem': 300,
}
注解 不支持传递不可调用的对象。 如何访问设置¶在Spider中,可以通过 class MySpider(scrapy.Spider):
name = 'myspider'
start_urls = ['http://example.com']
def parse(self, response):
print(f"Existing settings: {self.settings.attributes.keys()}")
注解 这个 可以通过访问 class MyExtension:
def __init__(self, log_is_enabled=False):
if log_is_enabled:
print("log is enabled!")
@classmethod
def from_crawler(cls, crawler):
settings = crawler.settings
return cls(settings.getbool('LOG_ENABLED'))
设置对象可以像dict一样使用(例如, |
Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )
GMT+8, 2025-1-22 23:39 , Processed in 0.045525 second(s), 17 queries .