scrapy.settings.SETTINGS_PRIORITIES
设置Scrapy中使用的默认设置优先级的键名和优先级的字典。

每个项目定义一个设置入口点,为其提供标识的代码名称和整数优先级。在设置和检索Settings类中的值时,更高优先级优先于较小优先 级。

SETTINGS_PRIORITIES = {
    'default': 0,
    'command': 10,
    'project': 20,
    'spider': 30,
    'cmdline': 40,
}

有关每个设置源的详细说明,请参阅: 设置

scrapy.settings.get_settings_priority(priority)
小辅助函数,它在SETTINGS_PRIORITIES字典中查找给定的字符串优先级 并返回其数值,或直接返回给定的数字优先级
classscrapy.settings.Settings(values=Nonepriority=‘project’)
基地: scrapy.settings.BaseSettings

此对象存储用于配置内部组件的Scrapy设置,并可用于任何进一步的自定义。

它是一个直接的子类,支持所有方法 BaseSettings。此外,在实例化此类之后,新对象将具有已在内置设置引用中描述的全局默认设置。

classscrapy.settings.BaseSettings(values=Nonepriority=‘project’)
此类的实例表现得像字典,但存储优先级及其 (key, value)对,并且可以冻结(即标记为不可变)。

键值条目可以在初始化时使用 values 参数传递,并且它们将采用优先级(除非 values 已经是 BaseSettings 的实例,在这种情况下将保留现有的优先级)。 如果优先级参数是一个字符串,优先级名称将在 SETTINGS_PRIORITIES 中查找。 否则,应提供一个特定的整数。

创建对象后,可以使用 set() 方法加载或更新新设置,并且可以使用字典的方括号表示法或实例的 get() 方法及其值转换变体进行访问。 请求存储的键时,将检索优先级最高的值。

copy()
制作当前设置的深层副本。

此方法返回类的新实例,并Settings填充相同的值及其优先级。

对新对象的修改不会反映在原始设置上。

copy_to_dict()
制作当前设置的副本并转换为字典。

此方法返回一个新的dict,其中填充了与当前设置相同的值及其优先级。

对返回的dict的修改不会反映在原始设置上。

例如,此方法可用于在Scrapy shell中打印设置。

freeze()
禁用对当前设置的进一步更改。

调用此方法后,设置的当前状态将变为不可变。试图通过该set()方法及其变体更改值是不可能的,并将收到警报。

frozencopy()
返回当前设置的不可变副本。

freeze()在返回的对象中调用的别名copy()

get(namedefault=None)
获取设置值而不影响其原始类型。

参数:
getbool(namedefault=False)
获取设置值作为布尔值。

参数:
  • name字符串) – 设置名称
  • defaultany) – 如果未找到设置则返回的值
getdict(namedefault=None)
获取设置值作为字典。如果设置原始类型是字典,则将返回其副本。如果它是一个字符串,它将被评估为JSON字典。如果它是一个 BaseSettings实例本身,它将被转换为一个字典,包含它们将返回的所有当前设置值get(),并丢失有关优先级和可变性的所有信息。

参数:
  • name字符串) – 设置名称
  • defaultany) – 如果未找到设置则返回的值
getfloat(namedefault=0.0)
获取设置值作为浮点数。

参数:
  • name字符串) – 设置名称
  • defaultany) – 如果未找到设置则返回的值
getint(namedefault=0.0)
获取设置值作为int。

参数:
  • name字符串) – 设置名称
  • defaultany) – 如果未找到设置则返回的值
getlist(namedefault=None)
获取设置值作为列表。如果设置原始类型是列表,则将返回其副本。如果它是一个字符串,它将被“,”拆分。

例如,通过设置为的环境变量填充的设置 'one,two'将在使用此方法时返回列表[‘one’,’two’]。

参数:
  • name字符串) – 设置名称
  • defaultany) – 如果未找到设置则返回的值
getpriority(name)
返回设置的当前数字优先级值,或者None如果给定的name不存在。

参数: name字符串) – 设置名称
getwithbase(name)
获得类似字典的设置及其_BASE 对应的组合。

参数: name字符串) – 类字典设置的名称
maxpriority()
返回所有设置中存在的最高优先级的数值defaultSETTINGS_PRIORITIES如果没有存储设置,则返回from 的数值。
set(namevaluepriority=‘project’)
存储具有给定优先级的键/值属性。

配置Crawler对象(通过configure()方法)之前应该填充设置,否则它们将没有任何效果。

参数:
  • name字符串) – 设置名称
  • valueany) – 与设置关联的值
  • priority字符串整数) – 设置的优先级。应该是一个键 SETTINGS_PRIORITIES或整数
setmodule(modulepriority=‘project’)
存储来自具有给定优先级的模块的设置。

这是一个辅助函数,它为每个全局声明的具有提供优先级的模块的大写变量调用 set()。

参数:
  • module(types.ModuleType or str) – 模块或模块的路径
  • priority(str or int – 设置的优先级。应该是一个键 SETTINGS_PRIORITIES或整数
update(valuespriority=‘project’)
存储具有给定优先级的键/值对。

这是一个辅助函数调用 set()为每一个项目values 与所提供的priority

如果values是字符串,则假定它是JSON编码的并且首先解析为dict json.loads()。如果是BaseSettings实例,将使用每个键的优先级并priority忽略该参数。这允许使用单个命令插入/更新具有不同优先级的设置。

参数:
  • values(dict or string or BaseSettings – 设置名称和值
  • priority(str or int – 设置的优先级。应该是一个键 SETTINGS_PRIORITIES或整数