Core API¶
Crawler API¶
通常用户自定义的组件可以在class中定义类似如下的函数,来达到获取配置的目的:
@classmethod
def from_crawler(cls, crawler):
return cls(crawler.config)
对于用户自定义的组件,xpaw会首先检查是否存在名为 from_crawler
的函数,如果存在则会通过调用 from_crawler
来实例化对象:
foo = FooClass.from_crawler(crawler)
如果不存在该函数,则会调用默认的不含参数的构造器来实例化:
foo = FooClass()
对于spider来讲,由于强制要求继承 Spider
类,且在该类中已经实现了 from_crawler
函数,我们可以直接在spider中通过 self.config
来获取配置,通过 self.crawler
来获取crawler。
from_crawler
提供了获取crawler的途径,通过crawler我们不仅可以获取到 config
,也可以获取到其他的我们需要使用的crawler的属性。
-
class
xpaw.crawler.
Crawler
(config)¶ 本地模式的crawler
Parameters: config (Config) – 爬虫相关的配置项 -
config
¶
爬虫相关的配置项,对于
config
的使用可以参考 Config API 。-
Config API¶
-
class
xpaw.config.
Config
(__values=None, **kwargs)¶ 管理爬虫配置的类。
-
get
(name, default=None)¶ 获取配置
Parameters: - name (str) – 参数名称
- default – 缺省值
-
getbool
(name, default=None)¶ 获取
bool
型参数,如果值不能转换为bool
类型,返回None
。
-
getint
(name, default=None)¶ 获取
int
型参数,如果值不能转换为int
类型,返回None
。
-
getint
(name, default=None) 获取
float
型参数,如果值不能转换为float
类型,返回None
。
-
getlist
(name, default=None)¶ 将参数值封装为
list
并返回。 如果参数值是str
,则会根据,
分隔为多个参数值。
-
set(name, value):
设置参数值
Parameters: - name (str) – 参数名称
- value – 参数值
-
update(values):
更新参数
Parameters: values (dict or Config
) – 新的参数
-
delete(name):
删除参数
Parameters: name – 参数名称
-
copy
()¶ 复制配置
-