Python Scrapy数据抓取——环境安装
2016-7-5 邪哥
Python Scrapy 环境安装,系统及安装环境如下:
CentOS 6.5 x86_64 安装 python 2.7.12
pip 安装 scrapy 1.1
关于系统、Python、Scrapy的介绍这边就不做过多赘述了,本系列博文仅做教程说明使用
如有相关兴趣希望深入了解的,可自行搜索其官网进行查阅
ok,废话完毕,进入正题:
scrapy当前最新版本为1.1 ,依然依赖 python 2.7,而我们前面安装的CentOS 6.5自带的python为2.6,所以先进行python的安装
这边需要留意的是 新装的python与系统python为并行版本。
[root@localhost ~]# python -V Python 2.6.6 [root@localhost ~]# cd soft/ [root@localhost ~]# wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz #这个下载速度较慢,可自行使用其他工具下载,或搜索其他国内下载链接 然后上传到对应目录即可 [root@localhost soft]# tar -zxvf Python-2.7.12.tgz [root@localhost soft]# cd Python-2.7.12 [root@localhost soft]# yum -y install sqlite-devel #注意这一步非常重要,否会导致后续新装的python 出现“No module named _sqlite3”的一系列问题 [root@localhost Python-2.7.12]# ./configure --prefix=/usr/local/python/2.7.12 \ --enable-big-digits --enable-unicode \ --with-threads --with-pth \ --with-ensurepip=yes \ --with-lto --with-pydebug [root@localhost Python-2.7.12]# make && make install
为了保持系统的python环境不受影响,这边我们不修改相关的系统配置
使用python 2.7时,我们使用非root账户 (如前面系统安装时设置的用户) jeen
[root@localhost Python-2.7.12]# su jeen [jeen@localhost Python-2.7.12]# cd ~ [jeen@localhost ~]$ vi .bashrc #在文件底部追加如下内容 PATH=/usr/local/python/2.7.12/bin:$PATH export PATH #完成后保存后退出 [jeen@localhost ~]$ source .bashrc [jeen@localhost ~]$ python -V Python 2.7.12 [jeen@localhost ~]$ pip -V pip 8.1.1 from /usr/local/python/2.7.12/lib/python2.7/site-packages (python 2.7) [157676 refs] #可以看到python版本已为新安装版本 pip也已经可以使用了 #pip是一种类似CentOS yum,PHP composer的包管理工具,当然它的面世比composer要早的多 #接下来就是scrapy 的安装了 [jeen@localhost ~]$ pip install scrapy Collecting scrapy Downloading Scrapy-1.1.0-py2.py3-none-any.whl (294kB) 100% |████████████████████████████████| 296kB 30kB/s Collecting service-identity (from scrapy) Downloading service_identity-16.0.0-py2.py3-none-any.whl Collecting cssselect>=0.9 (from scrapy) Downloading cssselect-0.9.2-py2.py3-none-any.whl Collecting queuelib (from scrapy) Downloading queuelib-1.4.2-py2.py3-none-any.whl Collecting lxml (from scrapy) Downloading lxml-3.6.0.tar.gz (3.7MB) 65% |████████████████████▉ | 2.4MB 25kB/s eta 0:00:50 #.... #一系列的依赖安装 #.... "/usr/local/python/2.7.12/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/response.py", line 240, in _error_catcher raise ReadTimeoutError(self._pool, None, 'Read timed out.') ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out. You are using pip version 8.1.1, however version 8.1.2 is available. You should consider upgrading via the 'pip install --upgrade pip' command. [185395 refs] [jeen@localhost ~]$ #... 结果还没安装成功就结束了 #从提示信息中可以看到 说 pip 当前版本是8.1.1,推荐使用最新的pip8.1.2 #ok 咱们根据它给的提示先进行 pip 的更新 [jeen@localhost ~]$ pip install --upgrade pip #这边会提示权限不足,ok 咱们回到root用户 [jeen@localhost ~]$ exit #注意 root 没有修改环境变量 需要使用全路径 [root@localhost ~]# /usr/local/python/2.7.12/bin/pip install --upgrade pip #...等待更新完成,为了避免后续又出现权限问题,咱们干脆使用 root 进行scray的安装 [root@localhost ~]# /usr/local/python/2.7.12/bin/pip install scrapy #...等待安装完成 #... 这边如果你的网速非常慢的话,可能会导致多次从pipy源上断开 #... 如果你无法忍受,可以搜索一下 python安装扩展的方法 进行单独的下载安装 #... 这边对于下载安装 先不做赘述,后续如果有必要会再单独介绍ok 安装完成之后 我们再次切换到 普通账户 (jeen)
[root@localhost ~]# su jeen [jeen@localhost root]# cd ~ [jeen@localhost ~]$ scrapy --version Scrapy 1.1.0 - no active project #....到这边说明 scrapy 已成功安装
我们使用scrapy shell 工具做一个简单的测试
[jeen@localhost ~]$ scrapy shell http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2014/index.html --nolog [s] Available Scrapy objects: [s] crawler <scrapy.crawler.Crawler object at 0x7ffa726f6760> [s] item {} [s] request <GET http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2014/index.html> [s] response <200 http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2014/index.html> [s] settings <scrapy.settings.Settings object at 0x7ffa726f63e0> [s] spider <DefaultSpider 'default' at 0x7ffa70e30290> [s] Useful shortcuts: [s] shelp() Shell help (print this help) [s] fetch(req_or_url) Fetch request (or URL) and update local objects [s] view(response) View response in a browser >>> print response.xpath('//title/text()').extract_first() 2014年统计用区划代码和城乡划分代码 >>> quit() [312323 refs]可以看到 上述过程,成功打印出了页面 http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2014/index.html 的标题
好了,关于Python及Scrapy的初步安装测试就到这边
后续我们会一步一步介绍,如何使用scrapy 创建一个项目,将样例网页中的内容抓取并存入mysql数据库 :)
Thanks for your kindness :)
sometimes
then
How about you ?
发表评论: