网络爬虫之:Scrapy使用详解(一)
一、前言:
Scrapy
,Python
开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。- 之前在大学的时候学习过webMagic这个使用java语言开发的网络爬虫框架, webmagic是一个参考了scrapy架构的网络爬虫。喜欢用java开发的同学可以去看下,值得推荐的一个网络爬虫框架。
- 而我现在为什么要来学习scrapy呢?虽然本身自己是一个android开发者,但是深处这个瞬息万变的编程时代,技术日新月异,
python
作为科学计算的首选语言,如果你想往数据挖掘与分析、人工智能等领域发展,python是一个不错的工具。感兴趣的同学可以一起学习。
二、Scrapy的安装
-
我们来看一下scrapy官网的安装教程
## Installing Scrapy Scrapy runs on Python 2.7 and Python 3.3 or above. If you’re using [Anaconda](http://docs.continuum.io/anaconda/index) or [Miniconda](http://conda.pydata.org/docs/install/quick.html), you can install the package from the [conda-forge](https://conda-forge.github.io/) channel, which has up-to-date packages for Linux, Windows and OS X.
-
上描述可知,
scrapy
已经支持python3x
的版本了。当然,新入手python
的开发者推荐从python3x开始。 -
在安装
Scrapy
之前,我想先说一个东西:virtualenv
,virtualenv是一个独立的python环境,使用他的好处很多,我觉得不错的有: 1、virtualenv可以为你提供一个独立于本地的python环境, 2、每一个项目都可以开辟一个virtualenv,这样即使每个项目要求的python版本不同,依赖库不同,也不会有影响 3、使用virtualenv进行开发,开发好之后,你可以将其打包到远程服务器中,只要服务器的python版本一致,基本都可以保证其正常运行。
virtualenv
的安装
-
用
pip
安装virtualenv:1
pip3 install virtualenv
使用案例
-
以开发一个新的项目为例,需要一套独立的Python运行环境,可以这么做:
-
第一步,创建目录,进入创建的目录:
1 2
mkdir pyproject cd pyproject/
-
第二步,创建独立的Python运行环境,命名为
venv
:1
virtualenv --no-site-packages venv
-
命令
virtualenv
就可以创建一个独立的Python运行环境,加上了参数--no-site-packages
目的是为了让已经安装到系统Python环境中的所有第三方包都不会复制过来。 -
新建的Python环境被放到当前目录下的
venv
目录。有了venv
这个Python环境,可以用source
进入该环境:1 2
source venv/bin/activate (venv)Mac:pyproject michael$
-
在
venv
环境下,用pip
安装的包都被安装到venv
这个环境下,系统Python环境不受任何影响。也就是说,venv
环境是专门针对pyproject
这个应用创建的。 -
退出当前的
venv
环境,使用deactivate
命令:1 2
(venv)Mac:pyproject michael$ deactivate Mac:pyproject michael$
-
这样就又回到了正常的环境,现在
pip
或python
均是在系统Python环境下执行。
小结
- virtualenv通过把系统Python复制一份到virtualenv的环境来创建一个独立的python开发环境,用命令
source venv/bin/activate
进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python
和pip
均指向当前的virtualenv环境。
-
Ok,回到正题,你可以选择在virtualenv中开发,也可以选择在本地环境开发。接下来我们开始安装Scrapy
-
如果你的python环境是3x,执行下面指令安装即可
pip3 install Scrapy
-
如果你还是Python2x的版本,则执行
pip install Scrapy
-
没错,python安装第三方库就是如此简单,因为pip,整个世界都美好了
-
OK,在下一章开始,我们将通过学习官方教程创建一个Scrapy项目进行我们的爬虫之旅