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程序设计入门(2)变量类型简介
Jun 16 Python
在Python中操作文件之seek()方法的使用教程
May 24 Python
python下os模块强大的重命名方法renames详解
Mar 07 Python
python实现文件助手中查看微信撤回消息
Apr 29 Python
python自动化测试之DDT数据驱动的实现代码
Jul 23 Python
Python中IP地址处理IPy模块的方法
Aug 16 Python
Python获取一个用户名的组ID过程解析
Sep 03 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
Nov 21 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
Mar 10 Python
Pytorch转onnx、torchscript方式
May 25 Python
Django Admin 上传文件到七牛云的示例代码
Jun 20 Python
python 还原梯度下降算法实现一维线性回归
Oct 22 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四种基础算法代码实例
2013/10/29 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
2018/10/16 PHP
CL vs ForZe BO5 第一场 2.13
2021/03/10 DOTA
javascript在事件监听方面的兼容性小结
2010/04/07 Javascript
jquery对表单操作2
2011/04/06 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
javascript事件函数中获得事件源的两种不错方法
2014/03/17 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
2014/09/09 Javascript
js格式化输入框内金额、银行卡号
2016/02/01 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
javascript设计模式之Adapter模式【适配器模式】实现方法示例
2017/01/13 Javascript
js 判断登录界面的账号密码是否为空
2017/02/08 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
基于JavaScript+HTML5 实现打地鼠小游戏逻辑流程图文详解(附完整代码)
2017/11/02 Javascript
解决Vue在封装了Axios后手动刷新页面拦截器无效的问题
2018/11/08 Javascript
微信 jssdk 签名错误invalid signature的解决方法
2019/01/14 Javascript
vue组件中节流函数的失效的原因和解决方法
2020/12/02 Vue.js
[01:09:13]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第三场 1月19日
2021/03/11 DOTA
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
基于python中staticmethod和classmethod的区别(详解)
2017/10/24 Python
Python实现的rsa加密算法详解
2018/01/24 Python
基于Django用户认证系统详解
2018/02/21 Python
python学习基础之循环import及import过程
2018/04/22 Python
python实现自动登录
2018/09/17 Python
python try 异常处理(史上最全)
2019/03/07 Python
python爬虫 execjs安装配置及使用
2019/07/30 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
Python生态圈图像格式转换问题(推荐)
2019/12/02 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
2020/07/02 Python
python等待10秒执行下一命令的方法
2020/07/19 Python
正宗的澳大利亚Ugg靴子零售商:UGG Express
2020/04/19 全球购物
闭幕式主持词
2014/04/02 职场文书
5.12护士节演讲稿
2014/04/30 职场文书
2016年小学圣诞节活动总结
2016/03/31 职场文书