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()¶ 复制配置
-