错误代码
KeyError: ‘xxx does not support field: _id’
了解item
首先我们先简单了解一下 item
- item 是保存爬取到的数据的容器;
- 其使用方法和python字典
类似
, - 并且提供了额外保护机制来避免拼写错误导致的未定义字段错误。
Item 对象是种简单的容器,保存了爬取到得数据。
其提供了 类似
于字典(dictionary-like) 的API以及用于声明可用字段的简单语法。
错误原因
出现这个错误(KeyError: ‘xxx does not support field: _id’)原因是我们使用 MongoDB 只能插入字典
但是如上文所说 item 是类似字典所以报错。
解决方法
方法1:
在 pipelines.py
中将 item 转换成字典。
方法2:
在 items.py
中加入此字段
_id = scrapy.Field()