参阅文档:
scrapy.cfg
tutorial/
__init__.py
items.py
pipelines.py
settings.py
spiders/
__init__.py
...
1. 准备工作
安装python、OpenSSL,linux自带
安装pip: 指令为apt-get install python-pip
安装Scrapy:pip install Scrapy
安装之后会出现四个错误,下面分别解决:
1).
fatal error: Python.h: No such file or directory
安装pyhton-dev包
sudo apt-get install python-dev
2). gcc not found
安装gcc:
安装gcc编译器:sudo apt-get install build-essential
3). ImportError: No module named w3lib.http
安装w3lib:
下载地址如下所示:
http://pypi.python.org/pypi/w3lib
http://pypi.python.org/packages/source/w/w3lib/w3lib-1.0.tar.gz#md5=f28aeb882f27a616e0fc43d0
1f4dcb21
安装过程如下所示:
tar -xvzf w3lib-1.0.tar.gz
cd w3lib-1.0
python setup.py install
4).
fatal error: libxml/xmlversion.h: No such file or directory
sudo apt-get install libxml2-dev libxslt-dev
2. 建立工程
scrapy startproject tutorial
得到如下工程目录,输入tree tutorial得到目录结构如下:
1). scrapy.cfg: 项目配置文件
2). tutorial/: 项目python模块
3). tutorial/spiders/: 放置spider的目录
4). tutorial/items.py: 项目items文件
5). tutorial/pipelines.py: 项目管道文件
6). tutorial/settings.py: 项目配置文件
3. 定义item
Items是将要装载抓取的数据的容器,它工作方式像python里面的字典,但它提供更多的保护,比如对未定义的字段填充以防止拼写错误。它通过创建一个scrapy.item.Item类来声明,定义它的属性为scrpy.item.Field对象,就像是一个对象关系映射(ORM). 我们通过将需要的item模型化,来控制从dmoz.org获得的站点数据,比如我们要获得站点的名字ÿ