【转载】python3安装scrapy之windows32位爬坑
python3安装scrapy之windows32位爬坑
早就听说scrapy不支持python3,而scrapy作为一款优秀的开源框架,不在新的python上集成一下实在可惜。最近刚好打算开始学习网络爬虫,网上又有那么多教程,so今天就来爬一下这个坑。
首先当然是安装一下python,官网可以直接安装最新的3.5.2。安装完成以后,可以成功python后在cmd执行一下命令
pip install scrapy
- 1
ok,然后坐等执行结果。年轻人,你以为这就完了么,too young too navie。等待十几分钟后,回头来看,报错了、
word天呐,肿么回事?!twisted下载98%,lxml报Exception,这都是什么鬼咩?
别急,找寻度娘,原来这些都是运行scrapy所依赖的库。好了,下面是正文,开始爬坑~
首先度娘,scrapy依赖的库有twisted、lxml,而twisted依赖的库又有zope.interface、pyopenssl。各位看官是不是已经略嫌烦人了,不要急,前途终归是美好滴,但学习的路线总是曲折的~
一、安装twisted库
1. 安装zope.interface。
我们可以先在python环境中执行一下命令 import zope.interface 来确定是否已安装zope.interface,如果未报错,那么衷心祝贺你可以跳过这一步,直接进入下一步。如果报错并出现如下图的问题,那么我们就来解决一下这个坑。
从zope.interface这里下载zope.interface。好吧,当你打开链接点击右上角浅绿色按钮Downloads的时候,又傻眼了!
因为zope的下载列表中的文件很显然只支持到py3.4!!!怎么办?那就只能先把文件下载下来,然后看看其对py3.5的适配性是否良好了(捏一把汗!)。这里我们下载最后一个文件,然后双击执行。
好吧,又navie了,于是这种方法方弃之。
接下来试一下直接安装zope.interface的whl文件。前提需要你的python安装wheel,如果没有安装wheel可以在cmd中执行命令 pip install wheel 来安装一下。我们下载。。。(此处省略一万字)
纳尼,zope的whl文件居然有支持py3.5的,可是exe文件却没有,简直。。。折腾半天浪费粮食。好了,我们直接下载上图中选中的whl文件,然后在cmd中执行如下命令
pip install D:\Study\spider\scrapy\zope.interface-4.3.2-cp35-cp35m-win32.whl
- 1
看到Successfully字眼,好吧,zope.interface终于搞定。
2. 安装pyopenssl。
这里还是首先下载pyopenssl,打开链接,依旧点击右上角浅绿色按钮Downloads,然后下载列表中的第一个文件。
下载完成后,然后老规矩打开cmd执行命令
pip install D:\Study\spider\scrapy\pyOpenSSL-16.2.0-py2.py3-none-any.whl
- 1
然后坐等成功安装完成,好吧,然而往往事与愿违~
。
咩黎嘎?无奈再次求助度娘。(万头攒动火树银花之处不必找我,我在度娘温暖的臂弯里)
怀疑是cryptography库没有安装,于是执行一下命令 pip install cryptography
安装cryptography成功,并可以看到其版本为1.5.2。于是回头继续安装pyopenssl,执行命令
pip install D:\Study\spider\scrapy\pyOpenSSL-16.2.0-py2.py3-none-any.whl
- 1
好吧,幸福来得太突然,让人猝不及防。果然,还是要静心多思考。next。
3. 安装twisted。
依旧到官网下载 twisted安装文件。
这里没有找到对应py3.5版本的twisted,所以先直接下载最新的twisted版本16.5。
我们直接下载列表中的第一项whl文件,下载完成后,在cmd中执行命令:
pip install D:\Study\spider\scrapy\Twisted-16.5.0-cp27-cp27m-win_amd64.whl
- 1
前排小凳子,坐等结果。。。
版本不支持,看了一下安装的twisted是64位的。于是继续搞起,找找32位的twisted。
皇天不负有心人,在这里找到了32位的twisted。于是果断下载下来,执行命令安装。
好吧,看来是因为安装的python版本是3.5,而twisted的版本没有匹配到。可是官网最新的版本16.5表示财支持到python2.7版本,而且还是64位的。
皇阿玛,你憋走,我要哭会哭会、、、
经过几个小时的折腾,终于发现了人民群众的智慧力量是无穷的,找到一篇文章,里面提供了野生的twisted cp35版本可供下载。
好吧,请容许我卖弄一下自己的武斗学问:真真儿是踏破铁鞋无觅处,得来全不费工夫~
好了,下载完成后执行命令:
pip install D:\Study\spider\scrapy\Twisted-16.5.0-cp35-cp35m-win32.whl
- 1
久违的Successfully,太想念你了啊!
二、安装lxml
首先下载lxml安装文件,
下载完成后执行命令
pip install D:\Study\spider\scrapy\lxml-3.6.4-cp35-cp35m-win32.whl
- 1
ok,老实说先在越来越稀罕pip这个功能了~
三、最后安装scrapy
万里长城终于走到最后一步了,那么久一鼓作气,来下载scrapy。
下载完成后,我们在cmd中执行命令
pip install D:\Study\spider\scrapy\Scrapy-1.2.1-py2.py3-none-any.whl
- 1
如果安装过程中出现上图的错误,千万不要担心,那是因为网络原因,下载超时了,这时候呢就多试几遍命令,反正唐僧西天取经最后拿到经书了还有一难呢。
呐,最后所有依赖都安装成功了包括scapy。上面的红色部分意思就是说没有成功编译pyDispatcher的wheel文件,但是最后python自动重新安装了pyDispatcher,而且也出现可Successfully字眼。
那么,接下来的最后的最后,经历了这么多就是测试scrapy是否能正常工作。在cmd中直接输入scrapy,看到如下图所示:
那么,恭喜你,大功告成!
【转载】python3安装scrapy之windows32位爬坑的更多相关文章
- Python3安装scrapy框架步骤
Python3安装scrapy框架步骤 1. 安装wheel a) Pip install wheel 2. 安装lxml Pip install lxml 3. ...
- 《转载》Python3安装Scrapy
运行平台:Windows Python版本:Python3.x IDE:Sublime text3 转载自:http://blog.csdn.net/c406495762/article/detail ...
- python3网络爬虫(4):python3安装Scrapy
运行平台: Windows python版本: python3.5.2 IDE: pycharm 一.Scrapy简介 Scrapy是一个为了爬取网站数据提取结构性数据而编写的应用框架,可以应用于数 ...
- Python3安装Scrapy
Microsoft Visual C++ Build Tools 最近项目在写爬虫,项目经理给了个Python Scrapy的爬虫项目,要求使用Java实现相关功能.于是乎在本地先后安装了Pytho ...
- ubuntu下python3安装scrapy,OpenSSL
环境:ubuntu 16.04 , python3.5.1+ 安装顺序如下: sudo apt-get install build-essential sudo apt-get install p ...
- 记录 Python3 安装 Scrapy 遇到的问题
开发环境:Windows 10 + Python 3 使用 pip 去安装 Scrapy, pip install scrapy , 报了一个错误. 原因:加 --user 的作用是显式指定安装在用 ...
- python3 安装scrapy Exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/pip/req/req_install.py", line 1006, in check_if_exists解决方法
错误代码: Exception: Traceback (most recent call last): File , in check_if_exists self.satisfied_by = pk ...
- python3安装scrapy教程
2.1xm1http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml3. PyOpensslhttps://pypi.python.org/pypi/pyOpen ...
- python3安装scrapy问题解决
scrapy py3.5安装 pip install scrapy 直接安装失败 第一个错误 building 'lxml.etree' extension 使用 pip install lxml 安 ...
随机推荐
- Java之多线程方式一(继承Thread类)
/** * 多线程的创建,方式一:继承于Thread类 * 1. 创建一个继承于Thread类的子类 * 2. 重写Thread类的run() --> 将此线程执行的操作声明在run()中 * ...
- C++概要简介
从C到C++ 新类型 bool类型 新的输入输出方式 con cout 新的内存存储方式 new delete 引用& 用于传参 函数 内敛函数inline 通过代码区膨胀 减少函数的跳转时间 ...
- 是时候写个自己的dialog了
组件下载地址:http://pan.baidu.com/s/1pJFVfej 最近做的项目需要用到对话框,但是原生的弹出框你是知道的.如果有时间,还是自己尝试一下,也是可以的. 一个简单图 里面的输入 ...
- CSP模拟赛游记
时间:2019.10.5 考试时间:100分钟(连正式考试时间的一半还没有到)题目:由于某些原因不能公开. 由于第一次接触NOIinux系统所以连怎么建文件夹,调字体,如何编译都不知道,考试的前半小时 ...
- E - Rebuild UVALive - 7187 (二次函数极值问题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5531 Problem Description Archaeologists find ruins of ...
- Iterator接口(迭代器)的使用
Iterator接口(迭代器) 前言 在程序开发中,经常需要遍历集合中的所有元素.针对这种需求,JDK专门提供了一个接口java.util.Iterator.Iterator接口也是Java集合中的一 ...
- CodeForces - 977E
题:https://codeforces.com/problemset/problem/977/E 题意:给你一个图,问你有几个没有杂边的单环(度全为2) 分析:单环点的度数一定是2,连续边,判断是否 ...
- metinfo_5.3变量覆盖引发的一系列问题
metinfo_5.3中存在一个很经典的$$型变量覆盖,这种变量覆盖在之前的博客中提到过,今天的博客围绕这个变量覆盖漏洞结合这款CMS的其他功能进行漏洞利用. 变量覆盖+文件包含 拿到这个CMS首先还 ...
- 物联网应用层协议选择和分析--MQTT、CoAP 、HTTP、XMPP、SoAP
MQTT协议 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)最早是IBM开发的一个即时通讯协议,MQTT协议是为大量计算能力有限且工作在低带宽.不 ...
- windows10+apache2.4+python3.6部署Django2.2.4项目
刚从家回来,老师让写专利,就开始准备写,初稿交给老师后,把我说了一顿,我就想着回去改呀,然后...老师找到了我,说是食品院那急需一个展示数据的平台,然我尽快干出来,我也是菜鸟啊,就没单独干过呀,即使是 ...