十三、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的操作和字典一样
```