[Python3网络爬虫开发实战] 1.8.2-Scrapy的安装

Posted Palace_Y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Python3网络爬虫开发实战] 1.8.2-Scrapy的安装相关的知识,希望对你有一定的参考价值。

Scrapy是一个十分强大的爬虫框架,依赖的库比较多,至少需要依赖的库有Twisted 14.0、lxml 3.4和pyOpenSSL 0.14。在不同的平台环境下,它所依赖的库也各不相同,所以在安装之前,最好确保把一些基本库安装好。本节就来介绍Scrapy在不同平台的安装方法。

1. 相关链接

2. Anaconda安装

这是一种比较简单的安装Scrapy的方法(尤其是对于Windows来说),如果你的Python是使用Anaconda安装的,或者还没有安装Python的话,可以使用此方法安装,这种方法简单、省力。当然,如果你的Python不是通过Anaconda安装的,可以继续看后面的内容。

关于Anaconda的安装方式,可以查看1.1节,在此不再赘述。

如果已经安装好了Anaconda,那么可以通过conda命令安装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安装即可:

 

 

安装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安装:

 

 

安装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,命令如下:

 

 

等待命令结束,如果没有报错,就证明Scrapy已经安装好了。

4. Linux下的安装

在Linux下的安装方式依然分为两类平台来介绍。

CentOS和Red Hat

在CentOS和Red Hat下,首先确保一些依赖库已经安装,运行如下命令:

 

 

最后利用pip安装Scrapy即可:

 

 

Ubuntu、Debian和Deepin

在Ubuntu、Debian和Deepin平台下,首先确保一些依赖库已经安装,运行如下命令:

 

 

然后利用pip安装Scrapy即可:

 

 

运行完毕后,就完成Scrapy的安装了。

5. Mac下的安装

在Mac下,首先也是进行依赖库的安装。

在Mac上构建Scrapy的依赖库需要C编译器以及开发头文件,它一般由Xcode提供,具体命令如下:

 

 

随后利用pip安装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包即可:

 

 

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下,直接执行如下命令即可:

 

 

在CentOS和Red Hat下,直接执行如下命令即可:

 

 

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build/cryptography/

这是缺少加密的相关组件,此时利用pip安装即可:

 

 

ImportError: No module named ‘packaging‘

这是因为缺少packaging包出现的错误,这个包提供了Python包的核心功能,此时利用pip安装即可。

ImportError: No module named ‘_cffi_backend‘

这个错误表示缺少cffi包,直接使用pip安装即可:

 

 

ImportError: No module named ‘pyparsing‘

这个错误表示缺少pyparsing包,直接使用pip安装即可:

 

 

 

以上是关于[Python3网络爬虫开发实战] 1.8.2-Scrapy的安装的主要内容,如果未能解决你的问题,请参考以下文章

我的爬虫入门书 —— 《Python3网络爬虫开发实战(第二版)》

Python 3网络爬虫开发实战书籍

《python3网络爬虫开发实战》--模拟登陆

[Python3网络爬虫开发实战] 1.5.1-PyMySQL的安装

[Python3网络爬虫开发实战] 1.8.1-pyspider的安装

《python3网络爬虫开发实战》--基本库的使用