如您在错误消息中所看到的:
Error processing {'link': [u'http://www.meetup.com/Search-Meetup-Karlsruhe/events/221907250/'], 'title': [u'Alles rund umElasticsearch']}您的项目
link和
title字段是列表(值周围的方括号表明了这一点)。
这是因为您在Scrapy中进行了提取。您没有在问题中发布它,但应该使用它
response.xpath().extract()[0]来获得列表的第一个结果。当然,在这种情况下,您应该准备遇到空结果集,以避免索引错误。
更新资料
对于不提取任何内容的情况,可以使用以下方法进行准备:
linkSelection = response.xpath().extract()item['link'] = linkSelection[0] if linkSelection else ""
或类似的东西取决于您的数据和字段。
None如果列表为空,可能也有效。
基本思想是拆分XPath提取和列表项选择。如果项目包含必需的元素,则应从列表中选择一个项目。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)