python3安装scrapy之windows32位爬坑

原创 2016年11月06日 01:38:08
 

早就听说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位爬坑的更多相关文章

  1. Python3安装scrapy框架步骤

    Python3安装scrapy框架步骤 1.       安装wheel a)     Pip install wheel 2.       安装lxml Pip install lxml 3.    ...

  2. 《转载》Python3安装Scrapy

    运行平台:Windows Python版本:Python3.x IDE:Sublime text3 转载自:http://blog.csdn.net/c406495762/article/detail ...

  3. python3网络爬虫(4):python3安装Scrapy

    运行平台: Windows python版本:  python3.5.2 IDE: pycharm 一.Scrapy简介 Scrapy是一个为了爬取网站数据提取结构性数据而编写的应用框架,可以应用于数 ...

  4. Python3安装Scrapy

     Microsoft Visual C++ Build Tools 最近项目在写爬虫,项目经理给了个Python Scrapy的爬虫项目,要求使用Java实现相关功能.于是乎在本地先后安装了Pytho ...

  5. ubuntu下python3安装scrapy,OpenSSL

    环境:ubuntu 16.04  ,  python3.5.1+ 安装顺序如下: sudo apt-get install build-essential sudo apt-get install p ...

  6. 记录 Python3 安装 Scrapy 遇到的问题

    开发环境:Windows 10 + Python 3 使用 pip 去安装 Scrapy,  pip install scrapy , 报了一个错误. 原因:加 --user 的作用是显式指定安装在用 ...

  7. 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 ...

  8. python3安装scrapy教程

    2.1xm1http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml3. PyOpensslhttps://pypi.python.org/pypi/pyOpen ...

  9. python3安装scrapy问题解决

    scrapy py3.5安装 pip install scrapy 直接安装失败 第一个错误 building 'lxml.etree' extension 使用 pip install lxml 安 ...

随机推荐

  1. java8的lambda过滤list遍历集合,排序

    1.根据属性过滤list List<AllManagerBean> testLists = broadCastRoomMapper.allManagerlist(); List<Al ...

  2. JavaScript学习笔记 - 入门篇(2)- 常用互动方法

    输出内容(document.write) document.write() 可用于直接向 HTML 输出流写内容.简单的说就是直接在网页中输出内容. 第一种:输出内容用""括起,直 ...

  3. Python笔记_第三篇_面向对象_2.第一个Python类

    1. 设计一个类: 设计一个类主要从三个方面进行考虑: 第一:类名:类名要见名知意.首字母大写. 第二:属性. 第三:方法. 备注:在Python中有些东西并不是绝对化的事情,有些根据Python社区 ...

  4. Docker Compose文件详解 V2

    Compose file reference 语法: web:      build: ./web      ports:      - "5000:5000"      volu ...

  5. 简述cookies 和 session

    session HTTP协议本身是无状态的,本身并不能支持服务端保存客户端的状态信息,于是,Web Server中引入了session的概念,用来保存客户端的状态信息. 1)当一个用户向服务器发送第一 ...

  6. 吴裕雄--天生自然 PYTHON3开发学习:CGI编程

    <Directory "/var/www/cgi-bin"> AllowOverride None Options +ExecCGI Order allow,deny ...

  7. js获取前n天或后n天的天数

    1获取n天后的某天的日期 <!DOCTYPE html> js获取前n天或者后n天的天数 </style> <body > <h1 id="date ...

  8. Java——Collection集合、迭代器、泛型

    集合 ——集合就是java提供的一种容器,可以用来存储多个数据. 集合和数组的区别 数组的长度是固定的.集合的长度是可变的. 数组中存储的是同一类型的元素,可以存储基本数据类型值. 集合存储的都是对象 ...

  9. Educational Codeforces Round 64(Unrated for Div.1+Div. 2)

    什么垃圾比赛,A题说的什么鬼楞是没看懂.就我只会BD(其实C是个大水题二分),垃圾游戏,技不如人,肝败吓疯,告辞,口胡了E就睡觉了. B 很容易发现,存在一种方案,使得相同字母连在一起,然后发现,当字 ...

  10. MySQL数据库高可用集群搭建-PXC集群部署

    Percona XtraDB Cluster(下文简称PXC集群)提供了MySQL高可用的一种实现方法.集群是有节点组成的,推荐配置至少3个节点,但是也可以运行在2个节点上. PXC原理描述: 分布式 ...