传统方式安装Scrapy(慎用)
练习了基本的操作之后,当然就要找框架来进行爬虫实验啊。于是就在网上找Windows 64安装Scrapy的方法,查到的都是非常繁琐的安装方式,由于Scrapy有很多个依赖,所以在安装Scrapy之前你就要先安装他的所有的依赖啊,下面列举出部分依赖库:
lxml模块 cryptography模块 pywin32模块 Twisted模块 pyOpenSSL模块等等,大家想想啊,Python怎么会那么顺利的让我们安装完这里模块呢?答案是一定的。有些人会说,我就不信我直接一个命令pip install Scrapy看看能不能直接安装上,敲完命令直接之歌回车键,看见命令行工具上显示的安装过程还笑出声来,终于可以进行爬虫了,没想到最后出现了一个错误failed with error code 1 in C:****************Temppip-build-5f9_epllTwisted,于是乎就查到原来没有Twisted这个依赖的模块,想着pip install Twisted最后命令行工具上还是继续报错,安装失败啊(pip install Twisted[windows_platform]这个命令也试过,没有什么用的)。
安装Twisted模块
在这里告诉大家一个方法安装Twisted模块的方法啊,首先需要先安装wheel模块,这回使用pip install wheel不会报错的,直接安装成功啦。之后打开命令行工具输入Python进入Python环境(也就是输入Python命令),看到我的Python版本是3.6.1的,去
https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted这个地址下载对应版本的Twisted,
Twisted, an event-driven networking engine.
- Twisted‑19.10.0‑cp38‑cp38‑win_amd64.whl
- Twisted‑19.10.0‑cp38‑cp38‑win32.whl
- Twisted‑19.10.0‑cp37‑cp37m‑win_amd64.whl
- Twisted‑19.10.0‑cp37‑cp37m‑win32.whl
- Twisted‑19.10.0‑cp36‑cp36m‑win_amd64.whl
- Twisted‑19.10.0‑cp36‑cp36m‑win32.whl
- Twisted‑19.10.0‑cp35‑cp35m‑win_amd64.whl
- Twisted‑19.10.0‑cp35‑cp35m‑win32.whl
- Twisted‑19.10.0‑cp27‑cp27m‑win_amd64.whl
- Twisted‑19.10.0‑cp27‑cp27m‑win32.whl
- Twisted‑18.9.0‑cp34‑cp34m‑win_amd64.whl
- Twisted‑18.9.0‑cp34‑cp34m‑win32.whl
cp后面跟的数字是python的版本,比如现在我的python版本是3.5,那么需要下载cp35;
根据下面图片中的Python是win32还是arm64选择Twisted的版本,针对我的Python版本我下载了倒数第二个whl文件,之后进行安装pip install Twisted‑17.9.0‑cp36‑cp36m‑win32.whl(注意这里是文件全名),这时出现一个[filename.whl is not supported wheel on this platform]的错误,这时有人会说,楼主,你骗我。。。我这辈子都不会原谅你的。。。客官别急,遇到这种情况你就把win32和win64的版本都下下来分别安装试一下,我的系统是64位装arm64位的whl能成功
好了大功告成了,可以安装Scrapy了,如果出现缺少模块。那你就直接pip install *进行安装吧,最难搞定的Twisted都搞定了还怕什么呢?
非常爽的安装Scrapy方式
首先去https://www.anaconda.com/download/这个网站下载一个Anaconda客户端,并进行安装(网上有好多安装教程的),之后在命令行输入conda install scrapy命令就下载安装了Scrapy模块,就是这么简单,如果你使用conda install scrapy这个命令时出现Proceed ([y]/n)? 直接输入一个y点击回车就好了,就会在命令行工具上看见安装需要安装的模块,安装完直接输入Scrapy检验是否安装成功,如果出现pkg_resources.DistributionNotFound: The ‘pyasn1-modules’ distribution was not found and is required by service-identity类似的情况,那就使用pip install pyasn1-modules进行安装就行了。安装成功会像下面一样的: