最近想使用scrapy来开发网页爬虫,本来开始是打算在windows上开发的,但是在尝试之后,发现在windows环境上安装开发环境太麻烦了,比如依赖libxml死活安装不了,最后只有在自己的debian上进行开发,话不多说,下面记录一下自己的步骤、遇到的一些问题以及相关的解决方案。
1. 环境
系统为debian 8.2.0
Python版本2.7.9
2. 创建环境
创建项目目录: mkidr NSpider
进入项目目录: cd NSpider
使用virtualenv创建虚拟环境: virtualenv env
3. 安装scrapy
激活虚拟环境: source env/bin/activate
安装scrapy: pip install scrapy 此时出现错误,查看信息,发现提示: libxml/xmlversion.h: 没有那个 文件或目录
安装依赖: sudo apt-get install libxml2-dev 发现已经安装了
于是采用创建软连接的方式来进行修改: sudo ln -s /usr/include/libxml2/libxml /usr/include/libxml
在将安装好的Python库卸载后,再执行 pip install scrapy 出现错误,提示: libxslt/xsltconfig.h:没有那个文件或目录
安装依赖: sudo apt-get install libxslt-dev
重新安装scrapy: pip install scrapy 出现错误,提示: ffi.h: 没有那个文件或目录
安装依赖: sudo apt-get install libffi-dev
重新安装scrapy: pip install scrapy 此时没有错误提示,成功安装
4. 创建scrapy项目
创建nspider项目: scrapy startproject nspider
创建成功后目录结构如下:
其中各个文件及目录的作用如下:
scrapy.cfg: 项目的配置文件 nspider/: 该项目的python模块。之后您将在此加入代码。
nspider/items.py: 项目中的item文件.
nspider/pipelines.py: 项目中的pipelines文件.
nspider/settings.py: 项目的设置文件.
nspider/spiders/: 放置spider代码的目录.
具体的scrapy教程可以见其中文文档:http://scrapy-chs.readthedocs.org/zh_CN/latest/intro/tutorial.html
这样scrapy的安装和项目的创建已经完成,可以用来编写自己的爬虫了。
5. windows下的scrapy安装
经过一系列的折腾,终于在windows上也安装好了scrapy,有以下问题需要注意:
1. 貌似在windows上不好使用virtualenv来管理依赖,因为windows上pip安装Python库依赖很多的系统库,如果没有这些系统库的话,安装会失败。
2. 通过下载编译好的安装包来进行安装,这样不需要依赖系统库。主要是2个库需要自己下载libxml2-python和lxml
记得下载的时候下载自己python版本的和对应位数的,比如我的python是2.7版本32位的,那么我就下载win32-py2.7的安装包,其他安装包同理,但貌似只有这两个包需要自己下载,其他的可以直接通过pip来安装