bricks
开发指南
2.2 初始化篇
2.2.2 配置开发

配置式开发需要依赖配置式爬虫

form

init配置为一个列表,每个列表内都是一个 form.Init,每个 form.Init 字典代表一个初始化配置,默认是会执行所有的配置初始化的。

定义

可以使用以下方式定义初始化:

 
from bricks.spider import form  
  
  
class MySpider(form.Spider):  
  
    @property    
    def config(self) -> form.Config:  
        return form.Config(  
            init=[  
                form.Init(func=lambda: {"page": 1})  
            ],  
        )  
  
  
if __name__ == '__main__':  
    spider = MySpider()  
    spider.run()
 

通用配置

  • func: 初始化引擎
  • args:初始化引擎位置参数
  • kwargs:初始化引擎关键字参数
  • layout:快速映射工厂
    • rename: 重命名,可以将字段重命名为其他字段
    • show:是否展示,可以选择展示字段 / 去除字段
    • factory:自定义的工厂函数,自己写一个函数处理字段
    • default:默认值,不存在的时候设置默认值

template

init配置为一个列表,每个列表内都是一个 template.Init,每个 template.Init 字典代表一个初始化配置,默认是会执行所有的配置初始化的。

定义

可以使用以下方式定义初始化:

 
import time  
  
from bricks.spider import template  
from bricks.spider.template import Config  
  
  
class Spider(template.Spider):  
  
    @property    
    def config(self) -> Config:  
        return Config(  
            init=[  
                template.Init(  
                    func=lambda: {"page": 1},  
                    layout=template.Layout(  
                        factory={  
                            "time": lambda: time.time()  
                        }  
                    ),  
  
                )  
            ]  
  
        )  
  
if __name__ == '__main__':  
    spider = Spider()  
    spider.run()
 

通用配置

  • func: 初始化引擎
  • args:初始化引擎位置参数
  • kwargs:初始化引擎关键字参数
  • layout:快速映射工厂
    • rename: 重命名,可以将字段重命名为其他字段
    • show:是否展示,可以选择展示字段 / 去除字段
    • factory:自定义的工厂函数,自己写一个函数处理字段
    • default:默认值,不存在的时候设置默认值