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网络编程学习笔记(二):socket建立网络客户端
Jun 09 Python
python教程之用py2exe将PY文件转成EXE文件
Jun 12 Python
利用Python将时间或时间间隔转为ISO 8601格式方法示例
Sep 05 Python
手把手教你用python抢票回家过年(代码简单)
Jan 21 Python
Python实现语音识别和语音合成功能
Sep 20 Python
python文件和文件夹复制函数
Feb 07 Python
Anconda环境下Vscode安装Python的方法详解
Mar 29 Python
Python接口测试结果集实现封装比较
May 01 Python
浅谈python量化 双均线策略(金叉死叉)
Jun 03 Python
解决python 执行sql语句时所传参数含有单引号的问题
Jun 06 Python
PyTorch如何搭建一个简单的网络
Aug 24 Python
plt.figure()参数使用详解及运行演示
Jan 08 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最常用的ini函数分析 针对PHP.ini配置文件
2010/04/22 PHP
php安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
php使用explode()函数将字符串拆分成数组的方法
2015/02/17 PHP
PHP简单留言本功能实现代码
2017/06/09 PHP
浅谈laravel-admin的sortable和orderby使用问题
2019/10/03 PHP
在Laravel 中实现是否关注的示例
2019/10/22 PHP
PHP unset函数原理及使用方法解析
2020/08/14 PHP
网页中表单按回车就自动提交的问题的解决方案
2014/11/03 Javascript
JavaScript数组各种常见用法实例分析
2015/08/04 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
vue-resource 拦截器(interceptor)的使用详解
2017/07/04 Javascript
jQuery初级教程之网站品牌列表效果
2017/08/02 jQuery
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
解决Antd 里面的select 选择框联动触发的问题
2020/10/24 Javascript
[00:32]2018DOTA2亚洲邀请赛iG出场
2018/04/03 DOTA
Python生成随机数的方法
2014/01/14 Python
python获取文件扩展名的方法
2015/07/06 Python
Python正规则表达式学习指南
2016/08/02 Python
python 日志增量抓取实现方法
2018/04/28 Python
python 快速把超大txt文件转存为csv的实例
2018/10/26 Python
使用django-guardian实现django-admin的行级权限控制的方法
2018/10/30 Python
使用python实现ftp的文件读写方法
2019/07/02 Python
解决python有时候import不了当前的包问题
2019/08/28 Python
Python中注释(多行注释和单行注释)的用法实例
2019/08/28 Python
解决pyshp UnicodeDecodeError的问题
2019/12/06 Python
PHP如何防止SQL注入
2014/05/03 面试题
2014年生产部工作总结
2014/12/17 职场文书
大学生个人学习总结
2015/02/15 职场文书
2015年度质量工作总结报告
2015/04/27 职场文书
2016年大学校运会广播稿件
2015/12/21 职场文书
2016年小学圣诞节活动总结
2016/03/31 职场文书
关于企业的执行力标语大全
2020/01/06 职场文书
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL
Nginx配置根据url参数重定向
2022/04/11 Servers
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
2022/08/14 Servers