(用于个人学习,不喜勿喷)
安装
scrapy可以运行在python2.7、python3.3或者是更高的版本上;如果你用的是Anaconda(Anaconda下载)或者Minconda,你可以从conda-forge进行安装,可以使用下面的命令:
conda install -c conda-forge scrapy
如果你已经安装了python包管理工具PyPI,你也可以使用下面命令进行安装:
pip install Scrapy
值得注意的是,如果你使用的是pip安装,你需要解决相应的包依赖(解决依赖一般会让你怀疑人生、怀疑scrapy,建议还是用Anaconda安装,少年!)
这里的话,为了避免你安装的scrapy依赖包和原先你安装的其他python包有冲突,官方强烈建议你使用Virtualenv进行scrapy安装;
scrapy依赖的一些包:
lxml:一种高效的XML和HTML解析器,
PARSEL:一个HTML / XML数据提取库,基于上面的lxml,
w3lib:一种处理URL和网页编码多功能辅助
twisted,:一个异步网络框架
cryptography and pyOpenSSL,处理各种网络级安全需求
以上包需要的最低版本:
Twisted 14.0
lxml 3.4
pyOpenSSL 0.14
win7安装scrapy
在win7下的安装,这里的话并不推荐大家用python+pip安装,推荐使用Anaconda进行安装,为什么呢?因为如果你选择前者,填坑的过程可能会让你绝望,说不定会让你砸键盘、内分泌失调,所以强烈建议用Anaconda!不信的话大家可以试试!
软件环境:
win7(64位)
Anaconda3-5.0.1-Windows-x86_64(点击下载)
一、安装Anaconda
这里的话简单介绍一下anaconda的下载,下载地址为:https://www.anaconda.com/download/
如果官网无法打开,请移步这里:下载Anaconda
里面有不同的平台,不同的版本,根据您的平台进行下载即可!这里的话建议大家下载Anaconda全包,而不是Miniconda,因为后者虽然小巧,但会出现一些问题,如果你怕填坑就请下载Anaconda,500M左右,这里再说一点,python是不用安装的,当然装了也没关系!下载完成之后开始安装:
点击下一步
点击:I Agree(同意)
选择安装目录,然后Next,这里尽量不要选择带空格的目录
这一步一定两个都勾起了,上面是表示加入环境变量,勾了后期就不用设了,省得麻烦,下面是默认安装python3.6为默认的python解释器,勾选之后点击:Install,进行安装!安装过程有点缓慢,请大家耐心等待哈!
ok,大功告成,点击下一步
点击完成(Finish),那就安装完成了,接下来我们通过Anaconda安装scrapy
二、安装scrapy
点击开始菜单中的 Anaconda Navigator,启动Anaconda,稍等片刻,正在启动
启动后点击左侧:Environments
然后选择not install 然后在输入框中输入scrapy
下面就出现了scrapy包,点击选中scrapy,然后点击下面Apply,进行相应安装
接下来会跳出scrapy的包依赖,选择Apply,即可
稍等片刻,即可安装完成,基本整个过程是0出错,非常顺畅,安装完成后在命令行输入:scrapy,进行测试,如果出现以下显示,恭喜你,scrapy已经成功安装!
看视频教程:《【视频】scrapy安装视频:win7+Anaconda安装scrapy1.4》
linux centos7安装scrapy
本scrapy中文教程主要介绍,centos7 linux下scrapy的安装,python版本是2.7!上面我们已经介绍了如何安装centos linux,如果还木有安装好centos,请移步:《scrapy centos7 linux安装(一):centos安装》 安装好之后,我们来看如何在centos7下面安装scrapy。这里有一点特殊的地方要说下,相对于Windows,centos7自带python2.7,也就是说我们并不需要再安装python了,当然如果你想使用python3.6,请看另一篇文章:《centos7 linux安装scrapy(三):python3.6安装scrapy1.4》!接下来我们看如何在centos7 下python2.7安装scrapy!
先提一下,linux的一些命令,比如登录、cd、yum……这些前戏就不多说了,不清楚的大家不清楚的去百度一下,这里我直接进入正题了!在linux下面我们就用pip安装,我们先在linux命令行输入:
pip install scrapy
试一下,看能不能安装!结果:
[root@localhost ~]# pip install scrapy
-bash: pip: 未找到命令
可以看到,没有pip命令,那我们需要先安装pip:
yum -y install epel-release
输入以上命令,然后当出现下图时,说明安装完成(一半):
接着再输入一下命令:
yum install python-pip
里面我们需要输入[y/d/n],我们一路输入:y
当出现:完毕!字样,说明pip安装完成!接下来我们安装scrapy,用的命令就是我们狠熟悉的pip命令了,如下:
pip install scrapy
当我们满怀欢喜安装的时候,发现:
Command "/usr/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-L1Q1wb/Twisted/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-QWsI2y-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-L1Q1wb/Twisted/
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
神马情况,好像是告诉我们需要使用:
pip install --upgrade pip
更新pip版本,那我们就试试!
好了,更新完成了,再试试pip install scrapy看还会不会出错!果然,哈哈,又出错:
error: command 'gcc' failed with exit status 1
Command "/usr/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-S4duRv/Twisted/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-tAiOQb-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-S4duRv/Twisted/
红色、错误、error一点都不可怕,可怕的是不敢把错误踩在脚下,我们继续解决错误,大家要学会看提示,也就是上面error后面的或是红色的提示,虽然是英文,但是都是一些常见的,慢慢多看就熟悉了,以后出现这样的错误还多,何不早早的试试?好,我们来看上面提示大致意思是:没有‘gcc’,那我们先来装gcc吧,centos安装gcc灰常简单,命令如下:
yum install gcc
如果出现让你选择:[y/d/n] 不要犹豫,一路的:y ,然后就是等待,直到出现:完毕!字样说明gcc安装完成,如图:
安装完gcc后,我们再次输入:pip install scrapy试试,看能不能愉快的安装,呵呵,又有坑:
编译中断。
error: command 'gcc' failed with exit status 1
----------------------------------------
Command "/usr/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-CRTnLK/Twisted/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-geKgvU-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-CRTnLK/Twisted/
网上查了一下,原来是差这么几个模块:libffi-devel 、 python-devel 、openssl-devel,一起安装一下,命令行输入:
yum install gcc libffi-devel python-devel openssl-devel -y
安装完成之后,再次输入:pip install scrapy,你会发现奇迹就在眼前,scrapy成功安装,输入:scrapy,当出现如下输出,说明安装完成
其实这就是一个填坑的过程,之所以出现这些问题,是我们使用centos mini(最小安装),导致许多包没有,所以需要我们手动安装一下这些包,其实用到的命令就这么几个:
yum -y install epel-release
yum install python-pip -y
pip install --upgrade pip
yum install gcc -y
yum install gcc libffi-devel python-devel openssl-devel -y
pip install scrapy
用: import scrapy 查看是否安装成功
注意:其实python2 与 python3 都可以 直接:pip install scrapy安装的
Scrapy创建项目之前
(1)进入 Python 的主目录,如cd /usr/local/python3.6/bin,查找 scrapy 项
(2)检查 cd /usr/bin/ | ll | grep scrapy,查看是否存在
(3)不存在则执行 ln -s /usr/local/bin/scrapy /usr/bin/scrapy
(4)回到shell,执行 scrapy version,成功
网友评论