有很多同学反馈安装scrapy总失败,其实有个简单的方法,今天总结一下
一、爬虫框架Scarpy简介
Scrapy 是一个快速的高层次的屏幕抓取和网页爬虫框架,爬取网站,从网站页面得到结构化的数据,它有着广泛的用途,从数据挖掘到监测和自动测试,Scrapy完全用Python实现,完全开源,代码托管在Github上,可运行在Linux,Windows,Mac和BSD平台上,基于Twisted的异步网络库来处理网络通讯,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片。
二、安装Scarpy依赖的包
wheel
Lxml
twisted
Pywin32
其中Twisted在windows上安装时需要依赖 Microsoft Visual C++ 14.0进行编译,如果没有这个环境在安装时必然报错,一般提示信息是这样的:
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
经过多次尝试之后,发现可以单独安装上面的依赖包,就可以顺利的安装好Scarpy
wheel可以直接安装 pip install wheel
下面给出剩下的3个的下载路径:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
https://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32
https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted
这个url是Python的非官方二进制扩展包的汇总页面,如果打开上面的URL后显示的界面是下面这个样子,可以根据模块名字搜索得到包的下载版本列表。
貌似没有找到lxml的安装包,直接按cttl+F弹出浏览器的搜索框,输入lxml,可以看到搜到了一个结果
点击这里的lxml链接直接跳转到页面后面的相关列表:
这里有好多,应该选择哪个呢?文件名里面的cp37m表示for python3.7版本,win32表示32位版本,amd64是对应amd的cpu
根据自己的环境选择正确的版本,twisted、Pywin32都是同样的方法。
我的环境是Python3.7 32位版本,因此我选择的是pywin32-224-cp37-cp37m-win32.whl
点击链接后直接开始下载,下载完成可以安装,下面是安装过程
首先我升级了pip,然后安装了wheel并且测试了wheel
安装pywin32-224-cp37-cp37m-win32.whl,卸载以前安装的lxml,重新安装lxml-4.2.5-cp37-cp37m-win32.whl
可以看到scrapy已经安装成功,接下来就来验证一下
三、验证安装结果
我们创建一个新的Scrapy项目:
scrapy startproject tutorial
至此在Python3.7下安装Scrapy已经安装成功,可以愉快的用这个做很多有趣的事情啦