爬虫蜘蛛Scrapy如何设置API?(64)python Scrapy教程1.51以上版本
scrapy.settings.SETTINGS_PRIORITIES- 设置Scrapy中使用的默认设置优先级的键名和优先级的字典。
每个项目定义一个设置入口点,为其提供标识的代码名称和整数优先级。在设置和检索
Settings类中的值时,更高优先级优先于较小优先 级。SETTINGS_PRIORITIES = { 'default': 0, 'command': 10, 'project': 20, 'spider': 30, 'cmdline': 40, }
scrapy.settings.priorityget_settings_priority()- 小辅助函数,它在
SETTINGS_PRIORITIES字典中查找给定的字符串优先级 并返回其数值,或直接返回给定的数字优先级。
- class
scrapy.settings.values=NoneSettings(priority=‘project’,) - 基地:
scrapy.settings.BaseSettings此对象存储用于配置内部组件的Scrapy设置,并可用于任何进一步的自定义。
它是一个直接的子类,支持所有方法
BaseSettings。此外,在实例化此类之后,新对象将具有已在内置设置引用中描述的全局默认设置。
- class
scrapy.settings.values=NoneBaseSettings(priority=‘project’,) - 此类的实例表现得像字典,但存储优先级及其
(key, value)对,并且可以冻结(即标记为不可变)。键值条目可以在初始化时使用 values 参数传递,并且它们将采用优先级(除非 values 已经是 BaseSettings 的实例,在这种情况下将保留现有的优先级)。 如果优先级参数是一个字符串,优先级名称将在 SETTINGS_PRIORITIES 中查找。 否则,应提供一个特定的整数。
创建对象后,可以使用 set() 方法加载或更新新设置,并且可以使用字典的方括号表示法或实例的 get() 方法及其值转换变体进行访问。 请求存储的键时,将检索优先级最高的值。
copy()- 制作当前设置的深层副本。
此方法返回类的新实例,并
Settings填充相同的值及其优先级。对新对象的修改不会反映在原始设置上。
copy_to_dict()- 制作当前设置的副本并转换为字典。
此方法返回一个新的dict,其中填充了与当前设置相同的值及其优先级。
对返回的dict的修改不会反映在原始设置上。
例如,此方法可用于在Scrapy shell中打印设置。
freeze()- 禁用对当前设置的进一步更改。
调用此方法后,设置的当前状态将变为不可变。试图通过该
set()方法及其变体更改值是不可能的,并将收到警报。
frozencopy()- 返回当前设置的不可变副本。
freeze()在返回的对象中调用的别名copy()。
namegetdict(default=None,)- 获取设置值作为字典。如果设置原始类型是字典,则将返回其副本。如果它是一个字符串,它将被评估为JSON字典。如果它是一个
BaseSettings实例本身,它将被转换为一个字典,包含它们将返回的所有当前设置值get(),并丢失有关优先级和可变性的所有信息。参数:
namegetfloat(default=0.0,)- 获取设置值作为浮点数。
参数: - name(字符串) – 设置名称
- default(any) – 如果未找到设置则返回的值
namegetint(default=0.0,)- 获取设置值作为int。
参数: - name(字符串) – 设置名称
- default(any) – 如果未找到设置则返回的值
namegetlist(default=None,)- 获取设置值作为列表。如果设置原始类型是列表,则将返回其副本。如果它是一个字符串,它将被“,”拆分。
例如,通过设置为的环境变量填充的设置
'one,two'将在使用此方法时返回列表[‘one’,’two’]。参数: - name(字符串) – 设置名称
- default(any) – 如果未找到设置则返回的值
namegetpriority()- 返回设置的当前数字优先级值,或者
None如果给定的name不存在。参数: name(字符串) – 设置名称
namegetwithbase()- 获得类似字典的设置及其_BASE 对应的组合。
参数: name(字符串) – 类字典设置的名称
maxpriority()- 返回所有设置中存在的最高优先级的数值
default,SETTINGS_PRIORITIES如果没有存储设置,则返回from 的数值。
nameset(value,priority=‘project’,)- 存储具有给定优先级的键/值属性。
在配置Crawler对象(通过
configure()方法)之前应该填充设置,否则它们将没有任何效果。参数: - name(字符串) – 设置名称
- value(any) – 与设置关联的值
- priority(字符串或整数) – 设置的优先级。应该是一个键
SETTINGS_PRIORITIES或整数
modulesetmodule(priority=‘project’,)- 存储来自具有给定优先级的模块的设置。
这是一个辅助函数,它为每个全局声明的具有提供优先级的模块的大写变量调用 set()。
参数: - module(types.ModuleType or str) – 模块或模块的路径
- priority(str or int) – 设置的优先级。应该是一个键
SETTINGS_PRIORITIES或整数
valuesupdate(priority=‘project’,)- 存储具有给定优先级的键/值对。
这是一个辅助函数调用
set()为每一个项目values与所提供的priority。如果
values是字符串,则假定它是JSON编码的并且首先解析为dictjson.loads()。如果是BaseSettings实例,将使用每个键的优先级并priority忽略该参数。这允许使用单个命令插入/更新具有不同优先级的设置。参数: - values(dict or string or
BaseSettings) – 设置名称和值 - priority(str or int) – 设置的优先级。应该是一个键
SETTINGS_PRIORITIES或整数
- values(dict or string or