[Python3网络爬虫开发实战] 1.8.2-Scrapy的安装
Scrapy是一个十分强大的爬虫框架,依赖的库比较多,至少需要依赖的库有Twisted 14.0、lxml 3.4和pyOpenSSL 0.14。在不同的平台环境下,它所依赖的库也各不相同,所以在安装之前,最好确保把一些基本库安装好。本节就来介绍Scrapy在不同平台的安装方法。
1. 相关链接
- 官方网站:https://scrapy.org
- 官方文档:https://docs.scrapy.org
- PyPI:https://pypi.python.org/pypi/Scrapy
- GitHub:https://github.com/scrapy/scrapy
- 中文文档:http://scrapy-chs.readthedocs.io
2. Anaconda安装
这是一种比较简单的安装Scrapy的方法(尤其是对于Windows来说),如果你的Python是使用Anaconda安装的,或者还没有安装Python的话,可以使用此方法安装,这种方法简单、省力。当然,如果你的Python不是通过Anaconda安装的,可以继续看后面的内容。
关于Anaconda的安装方式,可以查看1.1节,在此不再赘述。
如果已经安装好了Anaconda,那么可以通过conda
命令安装Scrapy,具体如下:
1
|
conda install Scrapy
|
3. Windows下的安装
如果你的Python不是使用Anaconda安装的,可以参考如下方式来一步步安装Scrapy。
安装lxml
lxml的安装过程请参见1.3.1节,在此不再赘述,此库非常重要,请一定要安装成功。
安装pyOpenSSL
在官方网站下载wheel文件(详见https://pypi.python.org/pypi/pyOpenSSL#downloads)即可,如图1-76所示。
图1-76 下载页面
下载后利用pip安装即可:
1
|
pip3 install pyOpenSSL-17.2.0-py2.py3-none-any.whl
|
安装Twisted
到http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted下载wheel文件,利用pip安装即可。
比如,对于Python 3.6版本、Windows 64位系统,则当前最新版本为Twisted‑17.5.0‑cp36‑cp36m‑win_amd64.whl,直接下载即可,如图1-77所示。
图1-77 下载页面
然后通过pip安装:
1
|
pip3 install Twisted‑17.5.0‑cp36‑cp36m‑win_amd64.whl
|
安装PyWin32
从官方网站下载对应版本的安装包即可,链接为:https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/,如图1-78所示。
图1-78 下载列表
比如对于Python 3.6版本,可以选择下载pywin32-221.win-amd64-py3.6.exe,下载完毕之后双击安装即可。
注意,这里使用的是Build 221版本,随着时间推移,版本肯定会继续更新,最新的版本可以查看https://sourceforge.net/projects/pywin32/files/pywin32/,到时查找最新的版本安装即可。
安装Scrapy
安装好了以上的依赖库后,安装Scrapy就非常简单了,这里依然使用pip,命令如下:
1
|
pip3 install Scrapy
|
等待命令结束,如果没有报错,就证明Scrapy已经安装好了。
4. Linux下的安装
在Linux下的安装方式依然分为两类平台来介绍。
CentOS和Red Hat
在CentOS和Red Hat下,首先确保一些依赖库已经安装,运行如下命令:
1
2
|
sudo yum groupinstall -y development tools
sudo yum install -y epel-release libxslt-devel libxml2-devel openssl-devel
|
最后利用pip安装Scrapy即可:
1
|
pip3 install Scrapy
|
Ubuntu、Debian和Deepin
在Ubuntu、Debian和Deepin平台下,首先确保一些依赖库已经安装,运行如下命令:
1
|
sudo apt-get install build-essential python3-dev libssl-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev
|
然后利用pip安装Scrapy即可:
1
|
pip3 install Scrapy
|
运行完毕后,就完成Scrapy的安装了。
5. Mac下的安装
在Mac下,首先也是进行依赖库的安装。
在Mac上构建Scrapy的依赖库需要C编译器以及开发头文件,它一般由Xcode提供,具体命令如下:
1
|
xcode-select --install
|
随后利用pip安装Scrapy即可:
1
|
pip3 install Scrapy
|
6. 验证安装
安装之后,在命令行下输入scrapy
,如果出现类似如图1-79所示的结果,就证明Scrapy安装成功了。
图1-79 验证安装
7. 常见错误
在安装过程中,常见的错误汇总如下。
pkg_resources.VersionConflict: (six 1.5.2 (/usr/lib/python3/dist-packages), Requirement.parse('six>=1.6.0'))
这是six包版本过低出现的错误。six包是一个提供兼容Python 2和Python 3的库,这时升级six包即可:
1
|
sudo pip3 install -U six
|
c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory
这是在Linux下常出现的错误,缺少libffi库造成的。什么是libffi?FFI的全名是Foreign Function Interface,通常指的是允许以一种语言编写的代码调用另一种语言的代码。而libffi库只提供了最底层的、与架构相关的、完整的FFI。此时安装相应的库即可。
在Ubuntu和Debian下,直接执行如下命令即可:
1
|
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev
|
在CentOS和Red Hat下,直接执行如下命令即可:
1
|
sudo yum install gcc libffi-devel python-devel openssl-devel
|
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build/cryptography/
这是缺少加密的相关组件,此时利用pip安装即可:
1
|
pip3 install cryptography
|
ImportError: No module named 'packaging'
这是因为缺少packaging包出现的错误,这个包提供了Python包的核心功能,此时利用pip安装即可。
ImportError: No module named '_cffi_backend'
这个错误表示缺少cffi包,直接使用pip安装即可:
1
|
pip3 install cffi
|
ImportError: No module named 'pyparsing'
这个错误表示缺少pyparsing包,直接使用pip安装即可:
1
|
pip3 install pyparsing appdirs
|
[Python3网络爬虫开发实战] 1.8.2-Scrapy的安装的更多相关文章
- [Python3网络爬虫开发实战] 1.3.2-Beautiful Soup的安装
Beautiful Soup是Python的一个HTML或XML的解析库,我们可以用它来方便地从网页中提取数据.它拥有强大的API和多样的解析方式,本节就来了解下它的安装方式. 1. 相关链接 官方文 ...
- [Python3网络爬虫开发实战] 1.9.4-Scrapyd API的安装
安装好了Scrapyd之后,我们可以直接请求它提供的API来获取当前主机的Scrapy任务运行状况.比如,某台主机的IP为192.168.1.1,则可以直接运行如下命令获取当前主机的所有Scrapy项 ...
- 崔庆才Python3网络爬虫开发实战电子版书籍分享
资料下载地址: 链接:https://pan.baidu.com/s/1WV-_XHZvYIedsC1GJ1hOtw 提取码:4o94 <崔庆才Python3网络爬虫开发实战>高清中文版P ...
- 《Python3 网络爬虫开发实战》开发环境配置过程中踩过的坑
<Python3 网络爬虫开发实战>学习资料:https://www.cnblogs.com/waiwai14/p/11698175.html 如何从墙内下载Android Studio: ...
- 《Python3 网络爬虫开发实战》学习资料
<Python3 网络爬虫开发实战> 学习资料 百度网盘:https://pan.baidu.com/s/1PisddjC9e60TXlCFMgVjrQ
- Python3网络爬虫开发实战PDF高清完整版免费下载|百度云盘
百度云盘:Python3网络爬虫开发实战高清完整版免费下载 提取码:d03u 内容简介 本书介绍了如何利用Python 3开发网络爬虫,书中首先介绍了环境配置和基础知识,然后讨论了urllib.req ...
- 转:【Python3网络爬虫开发实战】 requests基本用法
1. 准备工作 在开始之前,请确保已经正确安装好了requests库.如果没有安装,可以参考1.2.1节安装. 2. 实例引入 urllib库中的urlopen()方法实际上是以GET方式请求网页,而 ...
- 《Python3网络爬虫开发实战》PDF+源代码+《精通Python爬虫框架Scrapy》中英文PDF源代码
下载:https://pan.baidu.com/s/1oejHek3Vmu0ZYvp4w9ZLsw <Python 3网络爬虫开发实战>中文PDF+源代码 下载:https://pan. ...
- 《Python3网络爬虫开发实战》
推荐:★ ★ ★ ★ ★ 第1章 开发环境配置 第2章 网页基础知识 第3章 网络爬虫基础 第4章 基本库的使用 第5章 解析库的使用 第6章 数据存储 第7章 Ajax数据爬取 第8章 动态渲染页面 ...
随机推荐
- log4j没有作用,druid的日志信息还打印在控制台的解决办法
log4j没有实现类,需引入slf4j实现
- bzoj 3503: [Cqoi2014]和谐矩阵【高斯消元】
如果确定了第一行,那么可以推出来整个矩阵,矩阵合法的条件是n+1行全是0 所以推出来n+1行和1行的关系,然后用异或高斯消元来解即可 #include<iostream> #include ...
- 大水题(water)
题目描述dzy 定义一个 $n^2$ 位的数的生成矩阵 $A$ 为一个大小为 $n \times n$ 且 Aij 为这个数的第 $i \times n+j-n$ 位的矩阵.现在 dzy 有一个数 $ ...
- 配置yum源的步骤(阿里源)
配置yum源的步骤1.可以移除默认的yum仓库,也就是删除 /etc/yum.repos.d/底下所有的.repo文件(踢出国外的yum源) 1.配置yum源,找到阿里云的官方镜像源地址 https: ...
- [ZOJ1961]Let it Bead
Description "Let it Bead" company is located upstairs at 700 Cannery Row in Monterey, CA. ...
- 动态规划:最大连续子序列乘积 分类: c/c++ 算法 2014-09-30 17:03 656人阅读 评论(0) 收藏
题目描述: 给定一个浮点数序列(可能有正数.0和负数),求出一个最大的连续子序列乘积. 分析:若暴力求解,需要O(n^3)时间,太低效,故使用动态规划. 设data[i]:第i个数据,dp[i]:以第 ...
- 移动web开发填坑(一)
上周开始接触移动web开发,默默的掉进了很多坑里面.本文主要总结本周遇到的坑以及如何填坑. 1.px与rem换算. 设计稿的宽度一般是640px,而iphone是320px,所以测量设计稿的结果首先要 ...
- 一个DBA萌新的烦恼
莫名其妙也好机缘巧合也罢,现在我成为了一名MySQL DBA. 为什么: 1.为什么leader让我转到DBA? 首先,我本身学习运维管理的时候就接触过数据库(mysql,redis),算是自身的优势 ...
- WPF学习09:数据绑定之 Binding to List Data
从WPF学习03:Element Binding我们可以实现控件属性与控件属性的绑定. 从WPF学习07:MVVM 预备知识之数据绑定 我们可以实现控件属性与自定义对象属性的绑定. 而以上两个功能在实 ...
- css的过渡背景色
css3新增的渐变背景色属性用法 原博客地址:http://caibaojian.com/css3-background-gradient.html