Scrapy:即使明确定义了项目,也会发生Keyerror

时间:2018-11-05 10:22:59

标签: python scrapy field items keyerror

此刮板是完整的,应该处于工作状态,但是,这些项目似乎未定义,并且在尝试爬网时会产生键错误。它是一个非常简单的蜘蛛,只有2个物品。

spider.py

items.py

scrapy shell

我反复研究了这种结构的方式,但是似乎找不到任何错误的代码。物品似乎已明确定义,并且刮板运行但产生错误。

这里的任何帮助或建议将不胜感激!

3 个答案:

答案 0 :(得分:1)

您正在创建一个空的BestbuyscraperItem类。如果您看到scrapy repo处的代码,除非您传递参数,否则item类将创建一个空字典。设置值时,setitem将引发键错误。

您应该执行类似的操作

title = extract title 
price = extract price 
item = BestbuyscraperItem(title=title , price=price )

请参见example

答案 1 :(得分:0)

检查是否设置了该字段,只需检查item实例中的field键即可。您可能应该检查xpath

答案 2 :(得分:0)

我使用Scrapy已有4年以上了,从未使用Items

您的情况就是这样

item = {}
item['title'] = SOMETHING_HERE
item['price'] = SOMETHING_HERE
yield item