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实现的简单模板引擎功能示例
Sep 02 Python
python正则表达式及使用正则表达式的例子
Jan 22 Python
使用python3+xlrd解析Excel的实例
May 04 Python
django解决跨域请求的问题
Nov 11 Python
python 求1-100之间的奇数或者偶数之和的实例
Jun 11 Python
Django命名URL和反向解析URL实现解析
Aug 09 Python
Python定时发送天气预报邮件代码实例
Sep 09 Python
python实现操作文件(文件夹)
Oct 31 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
Jun 08 Python
python实现感知机模型的示例
Sep 30 Python
Python使用Pygame绘制时钟
Nov 29 Python
python中numpy数组与list相互转换实例方法
Jan 29 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
咖啡店都有些什么常规豆子呢?有什么风味在里面
2021/03/04 咖啡文化
PHP判断指定时间段的2个方法
2014/03/14 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
JavaScript传递变量: 值传递?引用传递?
2011/02/22 Javascript
JavaScript中函数声明优先于变量声明的实例分析
2012/03/01 Javascript
jquery表格内容筛选实现思路及代码
2013/04/16 Javascript
jQuery中on()方法用法实例详解
2015/02/06 Javascript
JavaScript中利用Array和Object实现Map的方法
2015/07/27 Javascript
jquery实现未经美化的简洁TAB菜单效果
2015/08/28 Javascript
JS+CSS实现的蓝色table选项卡效果
2015/10/08 Javascript
基于jquery实现表格内容筛选功能实例解析
2016/05/09 Javascript
AngularJs  Creating Services详解及示例代码
2016/09/02 Javascript
解决URL地址中的中文乱码问题的办法
2017/02/10 Javascript
JavaScript初学者必看“new”
2017/06/12 Javascript
javascript 判断用户有没有操作页面
2017/10/17 Javascript
koa源码中promise的解读
2018/11/13 Javascript
VUE安装使用教程详解
2019/06/03 Javascript
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
2019/09/11 Javascript
javaScript实现一个队列的方法
2020/07/14 Javascript
vue实现广告栏上下滚动效果
2020/11/26 Vue.js
Vue3+elementui plus创建项目的方法
2020/12/01 Vue.js
[02:27]DOTA2英雄基础教程 莱恩
2014/01/17 DOTA
python 实现删除文件或文件夹实例详解
2016/12/04 Python
python实现解数独程序代码
2017/04/12 Python
numpy实现合并多维矩阵、list的扩展方法
2018/05/08 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
2018/06/27 Python
Python集成开发工具Pycharm的安装和使用详解
2020/03/18 Python
Keras 加载已经训练好的模型进行预测操作
2020/06/17 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
SQL Server里面什么样的视图才能创建索引
2015/04/17 面试题
大一学生个人总结
2015/02/15 职场文书
2015年社区流动人口工作总结
2015/05/12 职场文书
2016新教师培训心得体会范文
2016/01/08 职场文书
HTML+CSS+JS实现图片的瀑布流布局的示例代码
2021/04/22 HTML / CSS
详解nginx进程锁的实现
2021/06/14 Servers
app场景下uniapp的扫码记录
2022/07/23 Java/Android