爬虫蜘蛛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