十三、scrapy的Item.py

在items.py文件中,scrapy.Item是一个BaseItem,为parse函数中能够yield的对象之一。

```

  class MyspiderItem(scrapy.Item):  # scrapy.Item是一个字典

    name = scrapy.Field()  # scrapy.Field()是一个字典

    pass  

```

通过scrapy.Field()来定义一个字典属性,即从整体上来说,MyspiderItem就是一个可以复用的字典。

scrapy.Item的作用:

(1)在获取到数据的时候,可以使用不同的Item来存放不同的数据

(2)在把数据交给pipeline的时候,可以通过isinstance(item,MyspiderItem)来判断数据是属于哪个item,进行不同的数据(item)处理

Item的使用

  在items文件中:

    ```

    class MyspiderItem(scrapy.Item):

      # 定义要获取的字段

      name = scrapy.Field()

      title = scrapy.Field()

      ...

    ```

  在Spider中:

    ```

    from projectname.items import MyspiderItem

    item = MyspiderItem()  # 实例化一个自定义的item

    item["name"] = "hello world"  # item的操作和字典一样

    ```

原文地址:https://www.cnblogs.com/nuochengze/p/12935952.html