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单例模式实例详解
Mar 01 Python
Python使用plotly绘制数据图表的方法
Jul 18 Python
Python requests模块实例用法
Feb 11 Python
Python列表(List)知识点总结
Feb 18 Python
python3 webp转gif格式的实现示例
Dec 10 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
Feb 04 Python
python实现简单坦克大战
Mar 27 Python
Python代码注释规范代码实例解析
Aug 14 Python
ubuntu16.04升级Python3.5到Python3.7的方法步骤
Aug 20 Python
Docker如何部署Python项目的实现详解
Oct 26 Python
Pycharm Plugins加载失败问题解决方案
Nov 28 Python
详解matplotlib绘图样式(style)初探
Feb 03 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
人族 Terran 基本策略
2020/03/14 星际争霸
重量级动漫纷纷停播!唯独OVERLORD第四季正在英魂之刃继续更新
2020/05/06 日漫
叫你如何修改Nginx与PHP的文件上传大小限制
2014/09/10 PHP
Yii中使用PHPExcel导出Excel的方法
2014/12/26 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
2020/01/23 PHP
JQuery 文本框使用小结
2010/05/22 Javascript
jQuery点击后一组图片左右滑动的实现代码
2012/08/16 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
JS实现图片放大镜效果的方法
2015/02/27 Javascript
KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
2016/10/10 Javascript
Angular2学习笔记——详解路由器模型(Router)
2016/12/02 Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
2016/12/31 Javascript
AngularJS 支付倒计时功能实现思路
2017/06/05 Javascript
微信小程序开发之toast提示插件使用示例
2017/06/08 Javascript
php简单数据库操作类的封装
2017/06/08 Javascript
JavaScript 正则命名分组【推荐】
2018/06/07 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
jquery实现抽奖功能
2020/10/22 jQuery
vue实现拖拽进度条
2021/03/01 Vue.js
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
Python语言进阶知识点总结
2019/05/28 Python
Python 运行.py文件和交互式运行代码的区别详解
2019/07/02 Python
python中update的基本使用方法详解
2019/07/17 Python
浅谈Tensorflow 动态双向RNN的输出问题
2020/01/20 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
2020/02/28 Python
pycharm中import呈现灰色原因的解决方法
2020/03/04 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
2020/04/20 Python
Python3安装模块报错Microsoft Visual C++ 14.0 is required的解决方法
2020/07/28 Python
Python使用Turtle模块绘制国旗的方法示例
2021/02/28 Python
python上下文管理的使用场景实例讲解
2021/03/03 Python
使用 css3 实现圆形进度条的示例
2017/07/05 HTML / CSS
英国家用电器折扣网站:Electrical Discount UK
2018/09/17 全球购物
简单的个人租房协议书范本
2014/11/26 职场文书
商铺租房协议书范本
2014/12/04 职场文书
HTML实现仿Windows桌面主题特效的实现
2022/06/28 HTML / CSS