2021SC@SDUSC
这篇博客将讲述Item Pipeline的使用
一.什么是Item Pipeline
当Item在Spider中被收集之后,它将会被传递到Item Pipeline,一些组件会按照一定的顺序执行对Item的处理。
每个item pipeline组件(有时称之为“Item Pipeline”)是实现了简单方法的Python类。他们接收到Item并通过它执行一些行为,同时也决定此Item是否继续通过pipeline,或是被丢弃而不再进行处理。
每个item pipiline组件是一个独立的Python类,同时必须实现下面的方法:
process_item (self,?item,?spider)
每个item pipeline组件都需要调用该方法,这个方法必须返回一个具有数据的dict,或是?Item?(或任何继承类)对象, 或是抛出?DropItem?异常,被丢弃的item将不会被之后的pipeline组件所处理。
它的参数:
- item?(Item?对象或者一个dict) – 被爬取的item
- spider?(Spider?对象) – 爬取该item的spider
二.启用一个Item Pipeline组件
为了启用一个Item Pipeline组件,你必须将它的类添加到?ITEM_PIPELINES?配置,比如:
ITEM_PIPELINES = {
'myproject.pipelines.PricePipeline': 300,
'myproject.pipelines.JsonWriterPipeline': 800,
}
分配给每个类的整型值,确定了他们运行的顺序,item按数字从低到高的顺序,通过pipeline,通常将这些数字定义在0-1000范围内。
|