Extension(扩展)简介
Scrapy提供了一些Extension机制,可以让我们添加和扩展一些自定义的功能(监听Scrapy运行过程中的信号,在发生某个事件时,执行我们自定义的方法)。
Scrapy内置的一些Extension:
LogStats:用于记录基本的爬取信息,比如爬取的页面数量、提取的Item数量等。
CoreStats:用于统计爬取过程中的核心统计信息,比如开始爬取时间、爬取结束时间等。
和Downloader Middleware、Spider Middleware以及Item Pipeline一样,Extension也是通过settings.py中的配置来控制是否被启用以及执行优先级。
自定义Extension的实现过程:
- 实现一个Python类,然后实现对应的处理方法。
- 定义from_crawler类方法,其第一个参数是cls类对象,第二个参数是crawler(利用crawler的signals对象将Scrapy 的各个信号和已经定义的处理方法关联起来)。
准备工作
目标:利用Extension实现爬取事件的消息通知。在【爬取开始时】、【爬取到数据时】、【爬取结束时】通知指定