Scrapy是Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。
1、关于虚拟环境的创建可以参考之前发布的两篇博文,在Windows下如何创建指定的虚拟环境和在Windows下如何创建虚拟环境(默认情况下)。下面在指定的文件夹下,直接先创建环境,在命令行输入环境创建命令“virtualenv --python=C:Python34python.exe scrapy_demo”,指定Python的版本和路径,以及虚拟环境的名字scrapy_demo,其中虚拟环境可以自己进行修改,这里命名为scrapy_demo。
![v2-7e55a45458236604563af7c1fe5879b1_hd.j](https://pic2.zhimg.com/80/v2-7e55a45458236604563af7c1fe5879b1_hd.jpg?x-oss-process=image/resize,w_1400/format,webp)
2、尔后进入到scrapy_demo文件夹下,找到Scripts文件夹,输入activate.bat以激活虚拟环境,步骤如下图所示。之后可以看到scrapy_demo被括号括起来了,说明进入了环境,在命令行中输入python,可以看到直接弹出Python3的环境。
![v2-6a0f60ddc2c032f0d531c20bcf092574_hd.j](https://pic1.zhimg.com/80/v2-6a0f60ddc2c032f0d531c20bcf092574_hd.jpg?x-oss-process=image/resize,w_1400/format,webp)
3、新建完虚拟环境之后,接下来就开始安装Scrapy,输入安装命令“pip install Scrapy”或者“pip install -i https://pypi.douban.com/simple/ Scrapy”,后面这个命令是通过豆瓣源镜像进行下载,速度会快很多,而且较为稳定,建议使用该方法进行安装,Python中的其他库也建议用该命令进行安装,十分的方便快捷。输入命令之后,等待Scrapy的安装,如下图所示。
![v2-410a7985c4ff54585fc302cbdac93737_hd.j](https://pic4.zhimg.com/80/v2-410a7985c4ff54585fc302cbdac93737_hd.jpg?x-oss-process=image/resize,w_1400/format,webp)
4、可以看到Scrapy的安装速度非常快,因为我们使用了镜像进行下载。不过稍等片刻之后可能会碰到timeout的问题,这是由于Scrapy安装的过程中需要很多依赖包,导致下载过程中会遇到网络延时的问题,此时只需要重新输入安装命令进行安装即可。除了timeout的问题之外,可能还会碰到下图这个问题。
![v2-257ab90d77729f4f4497e146e51a9561_hd.j](https://pic2.zhimg.com/80/v2-257ab90d77729f4f4497e146e51a9561_hd.jpg?x-oss-process=image/resize,w_1400/format,webp)
5、这个问题的出现是因为缺乏Twisted依赖包,此时通过“pip install twisted”可能有问题,这里给大家介绍一个非常实用的Python包网站https://www.lfd.uci.edu/~gohlke/pythonlibs/,里边的Python包专门用于Windows下的安装的。在网页中找到Twisted安装包,然后选择本机Python对应版本和电脑系统位数的安装包,小编的电脑是64位的,而且Python版本是Python3.4,所以下载的包如下图红色框框所示。
![v2-e42fb237962a786dcb915745e91e8baf_hd.j](https://pic4.zhimg.com/80/v2-e42fb237962a786dcb915745e91e8baf_hd.jpg?x-oss-process=image/resize,w_1400/format,webp)
6、下载完成之后,直接进入到下载的目录,由此进入命令行窗口,输入安装命令“pip install Twisted-18.7.0-cp34-cp34m-win_amd64.whl”,一般是可以安装上的,但是有时候会出现下面的错误提示“Twisted-18.7.0-cp34-cp34m-win_amd64.whl is not a supported wheel on this platform.”,表示该平台不支持这个安装包,如下图所示。
![v2-8a17819b6b1f719f97778dbec2258d56_hd.j](https://pic3.zhimg.com/80/v2-8a17819b6b1f719f97778dbec2258d56_hd.jpg?x-oss-process=image/resize,w_1400/format,webp)
7、此时不用慌,在这里小编给大家介绍一个小技巧,专门用来应对这样的问题的。进入到Twisted-18.7.0-cp34-cp34m-win_amd64.whl安装包目录下,一般下载之后将其放到虚拟环境的site-packages文件夹下面,尔后将后缀.whl更改为.zip,有木有觉得很熟悉?对,它就是个压缩文件,现在将压缩包里边的内容全部解压到当前文件夹,如下图所示。
![a4a4d65bea9f815b5dd3dc78c2d376ab2e137804](https://yqfile.alicdn.com/a4a4d65bea9f815b5dd3dc78c2d376ab2e137804.png?x-oss-process=image/resize,w_1400/format,webp)
8、之后在虚拟环境下输入pip list命令查看安装包,可以看到Twisted安装包已经在里边了,如下图所示。第一个pip list命令的时候尚未解压Twisted安装包,此时并没有Twisted库;第二个pip list命令是在Twisted安装包解压之后执行的,可以看到Twisted库已经在里边了。
![v2-07de3b2d469302150962c2a0580f33bb_hd.j](https://pic4.zhimg.com/80/v2-07de3b2d469302150962c2a0580f33bb_hd.jpg?x-oss-process=image/resize,w_1400/format,webp)
9、尔后我们再次输入Scrapy的安装命令,“pip install -i https://pypi.douban.com/simple/Scrapy”,等待安装完成,此时可以看到没有任何的报错了。
![fdce70c527b0566cefbd0831cb4db2618371bedb](https://yqfile.alicdn.com/fdce70c527b0566cefbd0831cb4db2618371bedb.jpeg?x-oss-process=image/resize,w_1400/format,webp)
10、最后通过pip list查看Scrapy是否安装成功,可以看到Scrapy已经在list之内了,如下图所示。
![v2-805c8bd8fb98333703c7260a9130ff73_hd.j](https://pic4.zhimg.com/80/v2-805c8bd8fb98333703c7260a9130ff73_hd.jpg?x-oss-process=image/resize,w_1400/format,webp)
至此,Scrapy的安装已经顺利完成。文中记录的部分bug解决方法是很多小伙伴们都会遇到的问题,希望大家日后在安装Scrapy的时候有章可循。最后,祝大家安装Scrapy一切顺利~~