百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

「从零开始Python爬虫」1.8.2 Scrapy的安装

itomcoil 2025-01-13 14:29 17 浏览

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

相关链接

※官方网站: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

Anaconda安装

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

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

如果已经安装好了Anaconda,那么可以通过conda命令安装Scrapy,具体如下:

conda install Scrapy

#楼主分享一个坑:有个网络对国外IP的访问有限制,我用公司网络从Anaconda的服务器上无法下载,但换成手机热点就好了。

Windows下的安装

如果你的Python不是使用Anaconda安装的,可以参考如下方式来一步步安装Scrapy。

【安装lxml】

lxml的安装过程请参见1.3.1节,在此不再赘述,此库非常重要,请一定要安装成功。

【安装pyOpenSSL】

在官方网站下载wheel文件(详见https://pypi.python.org/pypi/pyOpenSSL#downloads)即可,如下图所示。

下载后利用pip安装即可:

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,直接下载即可,如下图所示。

然后通过pip安装:

pip3 install Twisted?17.5.0?cp36?cp36m?win_amd64.whl

【安装PyWin32】

从官方网站下载对应版本的安装包即可,链接为:https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/,如下图所示。

比如对于Python 3.6版本,可以选择下载pywin32-221.win-amd64-py3.6.exe,下载完毕之后双击安装即可。

注意,这里使用的是Build 221版本,随着时间推移,版本肯定会继续更新,最新的版本可以查看https://sourceforge.net/projects/pywin32/files/pywin32/,到时查找最新的版本安装即可。

【安装Scrapy】

安装好了以上的依赖库后,安装Scrapy就非常简单了,这里依然使用pip,命令如下:

pip3 install Scrapy

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

Linux下的安装

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

CentOS和Red Hat

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

sudo yum groupinstall -y development tools
sudo yum install -y epel-release libxslt-devel libxml2-devel openssl-devel

最后利用pip安装Scrapy即可:

pip3 install Scrapy

Ubuntu、Debian和Deepin

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

sudo apt-get install build-essential python3-dev libssl-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev

然后利用pip安装Scrapy即可:

pip3 install Scrapy

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

Mac下的安装

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

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

xcode-select --install

随后利用pip安装Scrapy即可:

pip3 install Scrapy

验证安装

安装之后,在命令行下输入scrapy,如果出现类似如下图所示的结果,就证明Scrapy安装成功了。

常见错误

在安装过程中,常见的错误汇总如下。

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包即可:

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

sudo apt-get install build-essential libssl-dev libffi-dev python3-dev

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

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

pip3 install cryptography
ImportError: No module named 'packaging'

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

ImportError: No module named '_cffi_backend'

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

pip3 install cffi
ImportError: No module named 'pyparsing'

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

pip3 install pyparsing appdirs

【上节】「从零开始Python爬虫」1.8.1 Pyspider的安装

相关推荐

PHP使用mongo-php-library操作MongoDB数据库的方法

1.介绍1.1介绍福哥今天带着大家学习一下使用PHP操作MongoDB数据库的方法,虽然我们的TFLinux早就安装了MongoDB数据库了,但是还没有应用用到MongoDB数据库,福哥打算先给T...

MongoDB数据库的快速部署和启动(mongodb数据库怎么使用)

一、Mongodb介绍常见数据库介绍关系数据库RDBMS设计表结构,通过SQL语句进行操作。连表关系常见的关系型数据库:mysqloracle(商业)DB2(IBM)sqlserver(微软...

关于 PHP 启动 MongoDb 找不到指定模块问题

前言:最近有一个小demo,需要通过PHP将用户行为记录储存到MongoDB,再用Spark做协同过滤。由于以前处理跨语言交互是通过消息中间件,这次本地使用MongoDB却弄出了几个问...

Mongodb在Linux上安装教程(mongodb安装教程图解)

正文开始:系统环境:linuxcentos7mongodb版本:4.4.0一、下载为了保证各处版本一致性及便捷性,使用官网下载安装包安装官网传送门:https://www.mongodb.com/t...

MongoDB下载安装(mongodb下载哪个版本)

零、参考资料0.1安装https://blog.csdn.net/weixin_45767204/article/details/1301247370.2下载安装失败权限问题:可以看以下这个htt...

MongoDB入门指南:下载、安装和配置一款强大的NoSQL数据库

MongoDB是一种流行的开源NoSQL数据库管理系统,用于存储和处理大规模数据。在本指南中,我将详细介绍如何下载、安装、配置和启动/停止MongoDB服务。下载和安装MongoDB:a.访问Mo...

MongoDB 从入门到实战:.NET 平台完整指南

一、什么是MongoDBMongoDB是一种功能强大且灵活的NoSQL数据库,适用于处理大规模的半结构化数据和高并发场景。它不依赖于固定的表结构和关系模型,而是以文档的形式存储数据,每个文档可...

CentOS安装MongoDB教程(centos8 mongodb)

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。下载...

MongoDB最全详解(万字图文总结)(mongodb $ne)

大家好,我是mikechen。MongoDB是大型互联网架构经常使用到的数据库,各大厂也都会涉及,下面我就全面来详解MongoDB@mikechen作者:mikechen来源:mikechen.ccM...

MongoDB功能与安装指南(mongodb部署安装)

MongoDB主要功能介绍MongoDB是一款开源的NoSQL文档数据库,适用于灵活、高性能和大规模数据存储场景。以下是其核心功能:灵活文档模型数据以BSON(BinaryJSON)文档形...

系列二:Anaconda虚拟环境准备(anaconda虚拟环境pycharm)

1、打开cmd执行,输入condacreate-nchatglm3python=3.102、激活ChatGLM3condaactivatechatglm3#退出虚拟环境condad...

第54节 错误处理及调试-Web前端开发之Javascript-零点程序-王唯

本内容是《Web前端开发之Javascript视频》的课件,请配合大师哥《Javascript》视频课程学习。错误处理对于web应用开发至关重要,任何javascript错误都有可能会导致网页无法使用...

系列专栏(八):JS的第七种基本类型Symbols

ES6作为新一代JavaScript标准,已正式与广大前端开发者见面。为了让大家对ES6的诸多新特性有更深入的了解,MozillaWeb开发者博客推出了《ES6InDepth》系列文章。CSDN...

JavaScript 运算符(javascript 运算符优先级)

运算符=用于赋值。运算符+用于加值。运算符=用于给JavaScript变量赋值。算术运算符+用于把值加起来。实例指定变量值,并将值相加:y=5;z=2;x=y+z;在以上语句...

JavaScript 变量(javascript 变量传递)

变量是用于存储信息的"容器"。实例varx=5;vary=6;varz=x+y;就像代数那样x=5y=6z=x+y在代数中,我们使用字母(比如x)来保存值(比如5)。通过上面的表达式...