在Ubuntu下安装Scrapy总结,此文档是本人学习时使用的,采用一个实例作为引导进行安装测试。
实例下载地址如下:
https://github.com/sans-serif/scrapy-german-news#introduction
解压之后为:scrapy-german-news-master
修改requirements.txt 删除psycopg2==2.6.1
其中requirements.txt内容如下:
********************************************************************
attrs==15.2.0
cffi==1.5.2
cryptography==1.2.3
cssselect==0.9.1
enum34==1.1.2
idna==2.0
ipaddress==1.0.16
lxml==3.5.0
psycopg2==2.6.1
pyasn1==0.1.9
pyasn1-modules==0.0.8
pycparser==2.14
pyOpenSSL==0.15.1
queuelib==1.4.2
Scrapy==1.0.5
service-identity==16.0.0
six==1.10.0
Twisted==15.5.0
w3lib==1.13.0
zope.interface==4.1.3
********************************************************************
按理只需此文件即可,scrapy-german-news-master只是测试工程。
具体安装步骤如下:
第一步:
安装pip: sudo apt-get install python-pip
第二步:安装依赖
sudo apt-get install libffi-dev
sudo apt-get install python-dev
sudo apt-get install libxml2-dev
sudo apt-get install libxslt-dev
第三步:
准备好requirements.txt文件。
sudo pip install -r requirements.txt
第四步:安装postgresql
sudo apt-get install postgresql
sudo apt-get install python-psycopg2
sudo apt-get install libpq-dev
sudo pip install psycopg2==2.6.1
安装完成
测试运行,看是否安装成功:
进入目录scrapy-german-news-master 运行 scrapy crawl faz
如果能看到开始抓取数据,则认为配置成功
如安装过程中出现如下错误,解决方案:
(1)ImportError: No module named pkg_resources 解决方法:
sudo apt-get install --reinstall python-pkg-resources
(2)pkg_resources.DistributionNotFound: setuptools>=11.3 解决方法:
sudo pip install -U distribute
(3)pip install psycopg2 错误,解决如下:
sudo apt-get install postgresql
sudo apt-get install python-psycopg2
sudo apt-get install libpq-dev
(4)c/_cffi_backend.c:2:20: 致命错误: Python.h:没有那个文件或目录, 解决如下:
sudo apt-get install python-dev
(5)src/lxml/includes/etree_defs.h:14:31: 致命错误: libxml/xmlversion.h:没有那个文件或目录,解决如下:
apt-get install libxml2-dev libxslt-dev
(6)关于这个libffi,错误,解决如下:
sudo apt-get install libffi-dev
(7) build/temp.linux-i686-2.7/_openssl.c:431:25: fatal error: openssl/aes.h: No such file or directory, 解决如下:
sudo apt-get install libssl-dev
备注:以上测试工程采用的是postgresql数据库,也可以采用MySQL。