Scrapy: AttributeError: 'list' object has no attribute 'iteritems'

环境

Ubuntu16.04
Ubuntu14.04

问题背景

在学习Scrapy的过程中,跟着极客学院的课程模仿着写了一个爬取dz模板网站的爬虫,在本地运行的好好的,但是拷贝到服务器上就GG了,报了如题目所示的错误。

产生原因

Scrapy不同版本间不兼容所致,我的本机是Ubuntu16.04,安装Scrapy比较久远了,是1.0.x版本,在这个版本下,跟极客学院的课程同步,settings.py文件中配置ITEM_PIPELINES的时候做如下配置:

1
ITEM_PIPELINES = ['yourspider.pipelines.yourspiderPipeline']

我在服务器上使用pip安装的Scrapy的最新版本1.1.2,在这个版本下配置ITEM_PIPELINES的时候相较1.0.x版本应修改为:

1
2
3
ITEM_PIPELINES = {
'yourspider.pipelines.yourspiderPipeline': 300,
}

其中数字代表这个管道的优先级,取0-1000之间的任意一个数即可。

参考资料

参考Stackoverflow此贴

Ubuntu下Scrapy1.1.x版本下载

点此进入

有钱的捧个钱场~