Item Pipeline
Posted nuochengze
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Item Pipeline相关的知识,希望对你有一定的参考价值。
1、官方文档
https://scrapy-chs.readthedocs.io/zh_CN/latest/topics/item-pipeline.html
2、简介
当item在Spider中被收集之后,它会将被传递到Item Pipeline,这些Item Pipeline组件按定义的顺序处理Item。
3、编写item pipeline组件
item pipeline组件是一个独立的Python类,其中process_item()方法必须实现。
class SomethingPipeline(object): def __init__(self): # 可选实现,做参数初始化等 pass def process_item(self,item,spider): #item(Item对象)---被爬取的item #spider(Spider对象)---爬取该item的spider # 这个方法必须实现,每个item pipeline组件都需要调用该方法 # 这个方法必须返回一个Item对象,被丢弃的item将不会被之后的pipeline组件所处理 return item def open_spider(self,spier): # spider(Spider对象)---被开启的spider # 可选参数,当spider被开启时,这个方法被调用 pass def close_spider(self,spider): # spider(Spider对象)---被关闭的spider # 可选实现,当spider被关闭时,这个方法被调用 pass
4、启动一个item pipeline组件
为了启用Item Pipeline组件,必须将它的类添加到settings.py文件ITEM_PIPELINES配置
分配给每个类的整型值,确定了它们运行的顺序,item按数字从低到高的顺序,通过pipeline,通常将这些数字定义在0-1000范围内(0-1000随意设置,数值越低,组件的优先级越高)
5、启动爬虫验证
`scrapy crawl projectName`
以上是关于Item Pipeline的主要内容,如果未能解决你的问题,请参考以下文章