scrapy中有一个类Item(类似于一个字典),我们在项目中要为爬取到的内容设置一个字段,类似于flask中的Model,不过scrapy设置字段简单,因为没有那么多的字段类型,只简单的声明Field()即可。项目中第一步是 创建Item:
from scrapy import Item,Field
class Price(Item):
name=Field()
price=Field()
既然继承的Item类似于一个字典,那么就可以进行字典的一些常规操作。比如设置字段的值,获取字段的值,枚举字段的值,复制类的实例。
price=Price(name='go',price=200) #创建实例
price[name] #获取值
price[price] #获取字段的值
price_2=Price(price) 复制类的实例
当然,类也可以继承,在继承的过程中便可以使Item的字段进行拓展。
总之来说,Item就是一种为我们爬来的非结构性数据设置了一种结构型的简单容器,我们要提前为其设置字段(即结构)。比如我们要爬取图书的书名和价格,就设置两个字段name,price。打个比方就是一江春水,我们把它盛在特定的瓶瓶罐罐中