接口定义

class moear_api_common.base.SpiderBase(*args, **kwargs)[源代码]

Bases: object

爬虫基类

用以作为抽象类定义爬虫扩展所需提供的服务接口

包括:

  1. 爬虫注册
  2. 爬虫调用
  3. 打包格式化

初始化默认配置参数,可在子类中进行覆盖

配置优先级为:用户元数据 > 具体Package配置 > Common全局默认配置

参数:usermeta (dict) – (可选,关键字参数)指定用户的package相关配置元数据, 如:定制书籍名(book_title)等
hook_custom_options()[源代码]

配置定制配置项钩子

该方法返回当前类的自定义配置项,由基类在 __init__ 方法中调用, 调用点位于,Common默认全局配置完成后,用户元数据配置前

返回:返回当前类的自定义配置项
返回类型:dict
register(*args, **kwargs)[源代码]

注册

调用方可根据主键字段进行爬虫的创建或更新操作

返回:返回符合接口定义的字典数据
返回类型:dict
crawl(*args, **kwargs)[源代码]

爬取

执行爬取操作,并阻塞直到爬取完成,返回结果数据

返回:返回符合接口定义的字典数据
返回类型:dict
format(data, *args, **kwargs)[源代码]

格式化

将传入的Post列表数据进行格式化处理

参数:data (list) – 待处理的文章列表
返回:返回符合mobi打包需求的定制化数据结构
返回类型:dict
class moear_api_common.base.PackageBase(spider, *args, **kwargs)[源代码]

Bases: object

打包基类

用以作为抽象类定义打包驱动所需提供的服务接口

初始化默认配置参数,可在子类中进行覆盖

配置优先级为:用户元数据 > Spider元数据 > 具体Package配置 > Common全局默认配置

参数:
  • spider (dict) – 指定爬虫的信息数据(包括 ‘meta’ 字段的元数据字典, 其中需包含书籍名称用的时间戳)
  • usermeta (dict) – (可选,关键字参数)指定用户的package相关配置元数据, 如:定制书籍名(book_title)等
ext

输出文件的扩展名

小技巧

可在 hook_custom_options 方法中,通过 filename_extension 键名 来设置

返回:扩展名
返回类型:str
hook_custom_options()[源代码]

配置定制配置项钩子

该方法返回当前类的自定义配置项,由基类在 __init__ 方法中调用, 调用点位于,Common默认全局配置完成后,Spider元数据、用户元数据配置前

返回:返回当前类的自定义配置项
返回类型:dict
generate(data, *args, **kwargs)[源代码]

生成

根据传入的数据结构生成最终用于推送的文件字节字符串(bytes), MoEar会将其持久化并用于之后的推送任务

参数:data (dict) – 待打包的数据结构
返回:返回生成的书籍打包输出字节
返回类型:bytes