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实现遍历数据库并获取key的值
May 17 Python
Python中List.count()方法的使用教程
May 20 Python
python递归打印某个目录的内容(实例讲解)
Aug 30 Python
python实现时间o(1)的最小栈的实例代码
Jul 23 Python
Django Rest framework之认证的实现代码
Dec 17 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
Jan 30 Python
python实现中文文本分句的例子
Jul 15 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
Nov 04 Python
TensorFlow索引与切片的实现方法
Nov 20 Python
python实现梯度下降算法的实例详解
Aug 17 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
Dec 04 Python
用python基于appium模块开发一个自动收取能量的小助手
Sep 25 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
Drupal读取Excel并导入数据库实例
2014/03/02 PHP
PHP实现抓取HTTPS内容
2014/12/01 PHP
php curl 获取https请求的2种方法
2015/04/27 PHP
PHP中快速生成随机密码的几种方式
2017/04/17 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
2019/10/11 PHP
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
使用户点击后退按钮使效三行代码
2007/07/07 Javascript
js函数使用技巧之 setTimeout(function(){},0)
2009/02/09 Javascript
电子商务网站上的常用的js放大镜效果
2011/12/08 Javascript
javascript 使td内容不换行不撑开
2012/11/29 Javascript
动态标签 悬停效果 延迟加载示例代码
2013/11/21 Javascript
jQuery如何将选中的对象转化为原始的DOM对象
2014/06/09 Javascript
jquery实现类似淘宝星星评分功能有截图
2014/09/15 Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
2015/10/09 Javascript
js style.display=block显示布局错乱问题的解决方法
2016/09/21 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
JavaScript引用类型RegExp基本用法详解
2018/08/09 Javascript
vue-music 使用better-scroll遇到轮播图不能自动轮播问题
2018/12/03 Javascript
bootstrap实现tab选项卡切换
2020/08/09 Javascript
在antd Form表单中select设置初始值操作
2020/11/02 Javascript
在Python程序中进行文件读取和写入操作的教程
2015/04/28 Python
python脚本内运行linux命令的方法
2015/07/02 Python
Python基础教程之内置函数locals()和globals()用法分析
2018/03/16 Python
pycharm中显示CSS提示的知识点总结
2019/07/29 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
2019/12/04 Python
Python的Tqdm模块实现进度条配置
2021/02/24 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
车库门开启器、遥控器和零件:Chamberlain
2019/04/09 全球购物
泰国时尚电商:POMELO Fashion
2020/03/11 全球购物
介绍一下.NET构架下remoting和webservice
2014/05/08 面试题
土木工程毕业生自荐信
2013/11/12 职场文书
六月份红领巾广播稿
2014/02/03 职场文书
民主生活会对照检查材料(统计局)
2014/09/21 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
英文版辞职信
2015/02/28 职场文书
【海涛教你打DOTA】死灵飞龙第一视角解说
2022/04/01 DOTA