当爬取的数据已经被存放在 Items 以后,如果 Spider(爬虫) 解析完 Response(响应结果),Items 就会传递到 Item Pipeline(项目管道) 中,然后在 Item Pipeline 中创建用于处理数据的类,这个类就是项目管道组件,通过执行一连串的处理即可实现数据的清洗、存储等工作。
1. 项目管道的核心方法
Item Pipeline(项目管道)的典型用途如下:
- 清洗 HTML 数据。
- 验证抓取的数据(检查项目是否包含某些字段)。
- 检查重复项(并将其删除)。
- 将爬取的结果存储在数据库中。
在编写自定义 Item Pipeline 时,可以实现以下几个方法:
- process_item():该方法是在自定义 Item Pipeline 时,所必须实现的方法。该方法中需要提供两个参数,参数的具体含义如下:
- item 参数为 Item 对象(被处理的 Item)或 字典。
- spider 参数为 Spider 对象(爬取信息的爬虫)。
- open_spider():该方法是在开启爬虫时被调用的,所以在这个方法中可以进行初始化操作,其中 spider 参数就是被开启的 Spider (爬虫)对象。
- close_spider():该方法与上一方法相反,是在关闭爬虫时被调用的,在这个方法中可以进行一些收尾工作,其中 spider 参数就是被关闭的 Spider(爬虫)对