Loading

Scrapy中的item和pipline

Item

Item文档

创建item

在items.py中创建item,示例如下:

import scrapy

class Product(scrapy.Item):
    name = scrapy.Field()
    price = scrapy.Field()

item的api与python中的字典类似,Field就像字典中预定义好的key
更多item的用法请查阅文档

Pipline

Pipline文档

创建Pipline

  • 第一步:在piplines.py中编写pipline函数:
class Crawler58CityPipeline(object):

    def process_item(self, item, spider):  # 该方法负责处理spider中yield的item
        data = "【{}】{}".format(item['price'], item['title'])
        self.db.sadd(item.table, data)
  • 第二步:在settings.py中启用写好的pipline函数:
ITEM_PIPELINES = {
   'crawler_58city.pipelines.Crawler58CityPipeline': 300,
}
  • 第三步:在spider中yield item对象
item = HouseInfo(title=title, price=price)   # 定义好的item对象
yield item   # 返回后被pipline中的process_item方法处理
posted @ 2019-05-31 16:18  云野Winfield  阅读(480)  评论(0编辑  收藏  举报