Python 使用管道时出现Scrapy键错误
有人能解释我为什么会犯这个错误吗?我不明白。我试图通过scrapy管道将提取的数据存储到数据库中,这对另一个项目有效,但现在我遇到以下错误:Python 使用管道时出现Scrapy键错误,python,scrapy,keyerror,Python,Scrapy,Keyerror,有人能解释我为什么会犯这个错误吗?我不明白。我试图通过scrapy管道将提取的数据存储到数据库中,这对另一个项目有效,但现在我遇到以下错误: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 588, in _runCallbacks current.result = callback(current.re
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 588, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "/home/Darknet/Darknet/pipelines.py", line 11, in process_item
length = range(len(item['quantity']))
File "/usr/lib/python2.7/dist-packages/scrapy/item.py", line 56, in __getitem__
return self._values[key]
KeyError: 'quantity'
我的管道:
import Darknet
from Darknet.items import DarknetItem
from models import db
from models import BlackMarket
class MysqlPipeline(object):
def process_item(self, item, spider):
length = range(len(item['quantity']))
for x in length:
record = BlackMarket(product=item['product'][x], quantity=item['quantity'][x], price=item['price'][x])
db.add(record)
db.commit()
return item
我使用此代码段中的项目:
item = DarknetItem()
item['product'] = response.xpath('//div[@class="text oTitle"]/a/text()').extract()
item['price'] = response.xpath('//div[@class="bottom oPrice"]/text()').extract()
item['quantity'] = response.xpath('//div[@class="text oTitle"]/a/text()').extract()
yield item
您在
DarknetItem()
中没有创建任何字段quantity
,这是什么意思?在items.py文件中,quantity设置为scrapy.Field(),因此我认为这不是问题所在。添加一个可运行的示例,以复制管道中已删除的issueI退货项目。这就解决了问题。您在DarknetItem()
中没有创建任何字段quantity
,这是什么意思?在items.py文件中,quantity设置为scrapy.Field(),因此我认为这不是问题所在。添加一个可运行的示例,以复制管道中已删除的issueI退货项目。这就解决了问题。