Python3安装Scrapy的方法步骤


Posted in Python onNovember 23, 2017

本文介绍了Python3安装Scrapy的方法步骤,分享给大家,具体如下:

  1. 运行平台:Windows
  2. Python版本:Python3.x
  3. IDE:Sublime text3

一、Scrapy简介

Scrapy是一个为了爬取网站数据提取结构性数据而编写的应用框架,可以应用于数据挖掘,信息处理或存储历史数据等一些列的程序中。Scrapy最初就是为了网络爬取而设计的。现在,Scrapy已经推出了曾承诺过的Python3.x版本。

为什么学习Scrapy呢?它能我们更好的完成爬虫任务,自己写Python爬虫程序好比孤军奋战,而使用了Scrapy就好比手底下有了千军万马。Scrapy可以起到事半功倍(甚至好几倍*.*)的效果。所以,学习Scrapy也就显得很有必要了。

二、Scrapy安装

1.直接使用指令pip3 install scrapy,发现有诸多错误。

  1. Failed building wheel for lxml
  2. Microsoft Visual C++ 10.0 is required
  3. Failed building twisted
  4. Unable to find vcvarsall.bat

遇到的错误,如下图所示:

Python3安装Scrapy的方法步骤

Python3安装Scrapy的方法步骤

Python3安装Scrapy的方法步骤

2.解决办法

在http://www.lfd.uci.edu/~gohlke/pythonlibs/有很多用于windows的编译好的Python第三方库,我们下载好对应自己Python版本的库即可。

(1)在cmd中输入指令python,查看python的版本,如下:

Python3安装Scrapy的方法步骤

从上图可以看出可以看出我的Python版本为Python3.5.2-64bit。

(2)登陆http://www.lfd.uci.edu/~gohlke/pythonlibs/,Ctrl+F搜索Lxml、Twisted、Scrapy,下载对应的版本,例如:lxml-3.7.3-cp35-cp35m-win_adm64.whl,表示lxml的版本为3.7.3,对应的python版本为3.5-64bit。我下载的版本如下图所示:

Python3安装Scrapy的方法步骤

Python3安装Scrapy的方法步骤

Python3安装Scrapy的方法步骤

(3)在cmd中输入DOS指令,进入下载好的whl文件夹下,例如我的三个whl文件放在了Scrapy文件夹下:

Python3安装Scrapy的方法步骤

(4)依次执行如下命令:

a.pip3 install wheel

Python3安装Scrapy的方法步骤

b.pip3 install lxml-3.7.3-cp35-cp35m-win_amd64.whl

Python3安装Scrapy的方法步骤

c.pip3 install Twisted-17.1.0-cp35-cp35m-win_amd64.whl

Python3安装Scrapy的方法步骤

d.pip3 install Scrapy-1.3.2-py2.py3-none-any.whl

Python3安装Scrapy的方法步骤

这样Scrapy的安装就完成了,请忽略最后两行让我升级pip的信息。*.*

(5)Srapy已经安装成功,还要下载pywin32,找到对应版本下载,一路下一步安装即可。安装完成后,就可以正常使用Scrapy了。

URL:https://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/

Python3安装Scrapy的方法步骤

至此,大功告成,我们可以愉快的使用Scrapy了。

常见错误

1、pkg_resources.VersionConflict: (six 1.5.2 (/usr/lib/python3/dist-packages), Requirement.parse('six>=1.6.0'))

six包版本过低,six包是一个提供兼容Python2和Python3的库,升级six包即可。

sudo pip3 install -U six

2、c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory

缺少Libffi这个库。什么是libffi?“FFI” 的全名是 Foreign Function Interface,通常指的是允许以一种语言编写的代码调用另一种语言的代码。而Libffi库只提供了最底层的、与架构相关的、完整的”FFI”。

安装相应的库即可。

Ubuntu、Debian:

sudo apt-get install build-essential libssl-dev libffi-dev python3-dev

CentOS、RedHat:

sudo yum install gcc libffi-devel python-devel openssl-devel

3、ImportError: No module named 'cryptography'

这是缺少加密的相关组件,利用pip安装即可。

sudo pip3 install cryptography

4、ImportError: No module named 'packaging'

缺少packaging这个包,它提供了Python包的核心功能,利用pip安装即可。

sudo pip3 install packaging

5、ImportError: No module named 'appdirs'

缺少appdirs这个包,它用来确定文件目录,利用pip单独安装即可。

sudo pip3 install appdirs

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在漏洞利用Python代码真的很爽
Aug 26 Python
使用python Django做网页
Nov 04 Python
Pycharm学习教程(4) Python解释器的相关配置
May 03 Python
深入浅析python with语句简介
Apr 11 Python
python定时检测无响应进程并重启的实例代码
Apr 22 Python
聊聊python里如何用Borg pattern实现的单例模式
Jun 06 Python
Python + Requests + Unittest接口自动化测试实例分析
Dec 12 Python
Python:type、object、class与内置类型实例
Dec 25 Python
python3 deque 双向队列创建与使用方法分析
Mar 24 Python
PyTorch安装与基本使用详解
Aug 31 Python
python如何运行js语句
Sep 09 Python
实战Python爬虫爬取酷我音乐
Apr 11 Python
Python 和 JS 有哪些相同之处
Nov 23 #Python
深入理解Python分布式爬虫原理
Nov 23 #Python
Python实现希尔排序算法的原理与用法实例分析
Nov 23 #Python
Python 用Redis简单实现分布式爬虫的方法
Nov 23 #Python
Python3 伪装浏览器的方法示例
Nov 23 #Python
python学习笔记之列表(list)与元组(tuple)详解
Nov 23 #Python
python数字图像处理之高级滤波代码详解
Nov 23 #Python
You might like
PHP常用技巧总结(附函数代码)
2012/02/04 PHP
php Ubb代码编辑器函数代码
2012/07/05 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
2013/05/06 PHP
解析Ubuntu下crontab命令的用法
2013/06/24 PHP
你可能不知道PHP get_meta_tags()函数
2014/05/12 PHP
ecshop 2.72如何修改后台访问地址
2015/03/03 PHP
PHP判断当前使用的是什么浏览器(推荐)
2019/10/27 PHP
PHP数组实际占用内存大小原理解析
2020/12/11 PHP
JavaScript中的this关键字使用详解
2015/08/14 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
即将发布的jQuery 3 有哪些新特性
2016/04/14 Javascript
详解jQuery停止动画——stop()方法的使用
2016/12/14 Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
2016/12/31 Javascript
详解JavaScript树结构
2017/01/09 Javascript
vuejs指令详解
2017/02/07 Javascript
js 博客内容进度插件详解
2017/02/19 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
2017/07/12 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
2019/07/26 Javascript
微信头像地址失效踩坑记附带解决方案
2019/09/23 Javascript
Vue利用Blob下载原生二进制数组文件
2019/09/25 Javascript
vue 组件间的通信之子组件向父组件传值的方式
2020/07/29 Javascript
初步剖析C语言编程中的结构体
2016/01/16 Python
Python实现文件复制删除
2016/04/19 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
python2与python3的print及字符串格式化小结
2018/11/30 Python
CSS3实现简易版的刮刮乐效果
2016/09/27 HTML / CSS
详解rem 适配布局
2018/10/31 HTML / CSS
关于HTML5+ API plusready的兼容问题
2020/11/20 HTML / CSS
英国独特的时尚和生活方式品牌:JOY
2018/03/17 全球购物
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
澳洲的UGG雪地靴超级市场:Uggs.com.au
2020/04/06 全球购物
武汉世纪畅想数字传播有限公司.NET笔试题
2014/07/22 面试题
战友聚会策划方案
2014/06/13 职场文书
企业与个人合作经营协议书
2014/11/01 职场文书
原生JS封装vue Tab切换效果
2021/04/28 Vue.js
Win10防火墙白名单怎么设置?Win10添加防火墙白名单方法
2022/04/06 数码科技