UpdateItem
UpdateItem用于更新数据,继承至Item,所以使用方式基本与Item一致,下载只说不同之处
更新逻辑
更新逻辑借助了数据库的唯一索引,即插入数据时发现数据已存在,则更新。因此要求数据表必须存在唯一索引,才能使用UpdateItem
比如将title设置唯一,要求每条数据的title都不能重复

或联合索引,要求title与url不能同时重复

指定更新的字段
方式1:指定__update_key__
from feapder import UpdateItemclass SpiderDataItem(UpdateItem):__update_key__ = ["title"] # 更新title字段def __init__(self, *args, **kwargs):# self.id = Noneself.title = Noneself.url = None
方式2:赋值update_key
from feapder import UpdateItemclass SpiderDataItem(UpdateItem):def __init__(self, *args, **kwargs):# self.id = Noneself.title = Noneself.url = Noneitem = SpiderDataItem()item.update_key = "title" # 支持列表、元组、字符串
方式3:将普通的item转为UpdateItem,然后再指定更新的key
from feapder import Itemclass SpiderDataItem(Item):def __init__(self, *args, **kwargs):# self.id = Noneself.title = Noneself.url = Noneitem = SpiderDataItem()item = item.to_UpdateItem()item.update_key = "title"
推荐方式1,直接改Item类,不用修改爬虫代码
