Scrapy是一款非常成熟的爬虫框架,可以抓取网页数据并抽取结构化数据,目前已经有很多企业用于生产环境。
下面记录一下从安装Python到安装scrapy的过程,最后,通过执行命令进行抓取数据来验证我们所做的安装配置工作。
操作系统:RedHat 6.5
Python版本:Python-2.7.3
zope.interface版本:zope.interface-4.0.1.tar.gz
Twisted版本:Twisted-12.1.0.tar.bz2
libxml2版本:libxml2-2.7.4.tar.gz
w3lib版本:w3lib-1.2.tar.gz
Scrapy版本:Scrapy-0.24.4.tar.gz
setuptools版本:setuptools-0.6c11.tar.gz
pyOpenSSL版本:pyOpenSSL-0.11.tar.gz
安装配置
1、安装zlib
首先检查一下你的系统中是否已经安装zlib,该库是一个与数据压缩相关的工具包,scrapy框架依赖于该工具包。我使用的RHEL 5系统,查看是否安装:
- [root@localhost reptile]# rpm -qa zlib
- zlib-1.2.3-3
- [root@localhost reptile]# tar -xvzf zlib-1.2.5.tar.gz
- [root@localhost zlib-1.2.5]# cd zlib-1.2.5
- [root@localhost zlib-1.2.5]# make
- [root@localhost zlib-1.2.5]# make install
2、安装Python
我下载了Python的源代码,重新编译后,进行安装,过程如下所示:
- [root@localhost reptile]# tar -zvxf Python-2.7.3.tgz
- [root@localhost reptile]# cd Python-2.7.3
- [root@localhost Python-2.7.3]# ./configure
- [root@localhost Python-2.7.3]# make
- [root@localhost Python-2.7.3]# make install
默认情况下,Python程序被安装到/usr/local/lib/python2.7。
如果你的系统中没有安装过Python,此时通过命令行执行一下:
- [root@localhost reptile]# python2.7
- Python 2.7.3 (default, Dec 5 2011, 22:04:07)
- [GCC 4.1.1 20070105 (Red Hat 4.1.1-52)] on linux2
- Type "help", "copyright", "credits" or "license" for more information.
- >>>
3、安装setuptools
这里主要是安装一个用来管理Python模块的工具,如果已经安装就跳过该步骤。
下载地址如下所示:
http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
- [root@localhost reptile]$ tar -xvzf setuptools-0.6c11.tar.gz
- [root@localhost reptile]$ cd setuptools-0.6c11
- [root@localhost setuptools-0.6c11]$ python2.7 setup.py install
不过,在安装Python-2.7.3以后,可以看到Python的解压缩包里面有一个setup.py脚本,使用这个脚本可以安装Python一些相关的模块,执行命令:
- [root@localhost Python-2.7.3]# python setup.py install
4、安装zope.interface
下载地址如下所示:
http://pypi.python.org/packages/source/z/zope.interface/zope.interface-4.0.1.tar.gz
安装过程如下所示:
- [root@localhost reptile]$ tar -xvzf zope.interface-4.0.1.tar.gz
- [root@localhost reptile]$ cd zope.interface-4.0.1
- [root@localhost zope.interface-4.0.1]$ python2.7 setup.py build
- [root@localhost zope.interface-4.0.1]$ python2.7 setup.py install
5、安装Twisted
下载地址如下所示:
http://twistedmatrix.com/Releases/Twisted/12.1/Twisted-12.1.0.tar.bz2
安装过程如下所示:
- [root@localhost reptile]# bzip2 -d Twisted-12.1.0.tar.bz2
- [root@localhost reptile]# tar -xvf Twisted-12.1.0.tar
- [root@localhost reptile]# cd Twisted-12.1.0
- [root@localhost Twisted-12.1.0]# python2.7 setup.py install
6、安装w3lib
下载地址如下所示:
http://pypi.python.org/packages/source/w/w3lib/w3lib-1.2.tar.gz
安装过程如下所示:
- [root@localhost reptile]# tar -xvzf w3lib-1.2.tar.gz
- [root@localhost reptile]# cd w3lib-1.2
- [root@localhost w3lib-1.2]# python2.7 setup.py install
7、安装libxml2
下载地址如下所示:
http://download.chinaunix.net/download.php?id=28497&ResourceID=6095
http://download.chinaunix.net/down.php?id=28497&ResourceID=6095&site=1
或者,可以到网站http://xmlsoft.org上面找到相应版本的压缩包。
安装过程如下所示:
- [root@localhost reptile]# tar -xvzf libxml2-2.7.4.tar.gz
- [root@localhost reptile]# cd libxml2-2.7.4
- [root@localhost libxml2-2.7.4]# ./configure
- [root@localhost libxml2-2.7.4]# make
- [root@localhost libxml2-2.7.4]# make install
8、安装pyOpenSSL
该步骤可选,对应的安装包下载地址为:
http://launchpadlibrarian.net/58498441/pyOpenSSL-0.11.tar.gz
安装过程如下所示:
- [root@localhost reptile]# tar -xvzf pyOpenSSL-0.11.tar.gz
- [root@localhost reptile]# cd pyOpenSSL-0.11
- [root@localhost pyOpenSSL-0.11]# python2.7 setup.py install
9、安装Scrapy
下载地址如下所示:
https://pypi.python.org/pypi/Scrapy
安装过程如下所示:
- [root@localhost reptile]# tar -xvzf Scrapy-0.24.4.tar.gz
- [root@localhost reptile]# cd Scrapy-0.24.4
- [root@localhost Scrapy-0.24.4]# python2.7 setup.py install
安装验证
经过上面的安装和配置过程,已经完成了Scrapy的安装,我们可以通过如下命令行来验证一下:
- [root@localhost scrapy]# scrapy
- Scrapy 0.14.0.2841 - no active project
- Usage:
- scrapy <command> [options] [args]
- Available commands:
- fetch Fetch a URL using the Scrapy downloader
- runspider Run a self-contained spider (without creating a project)
- settings Get settings values
- shell Interactive scraping console
- startproject Create new project
- version Print Scrapy version
- view Open URL in browser, as seen by Scrapy
- Use "scrapy <command> -h" to see more info about a command