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