「从零开始Python爬虫」1.8.2 Scrapy的安装
itomcoil 2025-01-13 14:29 25 浏览
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
相关推荐
- selenium(WEB自动化工具)
-
定义解释Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7,8,9,10,11),MozillaF...
- 开发利器丨如何使用ELK设计微服务中的日志收集方案?
-
【摘要】微服务各个组件的相关实践会涉及到工具,本文将会介绍微服务日常开发的一些利器,这些工具帮助我们构建更加健壮的微服务系统,并帮助排查解决微服务系统中的问题与性能瓶颈等。我们将重点介绍微服务架构中...
- 高并发系统设计:应对每秒数万QPS的架构策略
-
当面试官问及"如何应对每秒几万QPS(QueriesPerSecond)"时,大概率是想知道你对高并发系统设计的理解有多少。本文将深入探讨从基础设施到应用层面的解决方案。01、理解...
- 2025 年每个 JavaScript 开发者都应该了解的功能
-
大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发。1.Iteratorhelpers开发者...
- JavaScript Array 对象
-
Array对象Array对象用于在变量中存储多个值:varcars=["Saab","Volvo","BMW"];第一个数组元素的索引值为0,第二个索引值为1,以此类推。更多有...
- Gemini 2.5编程全球霸榜,谷歌重回AI王座,神秘模型曝光,奥特曼迎战
-
刚刚,Gemini2.5Pro编程登顶,6美元性价比碾压Claude3.7Sonnet。不仅如此,谷歌还暗藏着更强的编程模型Dragontail,这次是要彻底翻盘了。谷歌,彻底打了一场漂亮的翻...
- 动力节点最新JavaScript教程(高级篇),深入学习JavaScript
-
JavaScript是一种运行在浏览器中的解释型编程语言,它的解释器被称为JavaScript引擎,是浏览器的一部分,JavaScript广泛用于浏览器客户端编程,通常JavaScript脚本是通过嵌...
- 一文看懂Kiro,其 Spec工作流秒杀Cursor,可移植至Claude Code
-
当Cursor的“即兴编程”开始拖累项目质量,AWS新晋IDEKiro以Spec工作流打出“先规范后编码”的系统工程思维:需求-设计-任务三件套一次生成,文档与代码同步落地,复杂项目不...
- 「晚安·好梦」努力只能及格,拼命才能优秀
-
欢迎光临,浏览之前点击上面的音乐放松一下心情吧!喜欢的话给小编一个关注呀!Effortscanonlypass,anddesperatelycanbeexcellent.努力只能及格...
- JavaScript 中 some 与 every 方法的区别是什么?
-
大家好,很高兴又见面了,我是姜茶的编程笔记,我们一起学习前端相关领域技术,共同进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力在JavaScript中,Array.protot...
- 10个高效的Python爬虫框架,你用过几个?
-
小型爬虫需求,requests库+bs4库就能解决;大型爬虫数据,尤其涉及异步抓取、内容管理及后续扩展等功能时,就需要用到爬虫框架了。下面介绍了10个爬虫框架,大家可以学习使用!1.Scrapysc...
- 12个高效的Python爬虫框架,你用过几个?
-
实现爬虫技术的编程环境有很多种,Java、Python、C++等都可以用来爬虫。但很多人选择Python来写爬虫,为什么呢?因为Python确实很适合做爬虫,丰富的第三方库十分强大,简单几行代码便可实...
- pip3 install pyspider报错问题解决
-
运行如下命令报错:>>>pip3installpyspider观察上面的报错问题,需要安装pycurl。是到这个网址:http://www.lfd.uci.edu/~gohlke...
- PySpider框架的使用
-
PysiderPysider是一个国人用Python编写的、带有强大的WebUI的网络爬虫系统,它支持多种数据库、任务监控、项目管理、结果查看、URL去重等强大的功能。安装pip3inst...
- 「机器学习」神经网络的激活函数、并通过python实现激活函数
-
神经网络的激活函数、并通过python实现whatis激活函数感知机的网络结构如下:左图中,偏置b没有被画出来,如果要表示出b,可以像右图那样做。用数学式来表示感知机:上面这个数学式子可以被改写:...
- 一周热门
- 最近发表
- 标签列表
-
- ps图案在哪里 (33)
- super().__init__ (33)
- python 获取日期 (34)
- 0xa (36)
- super().__init__()详解 (33)
- python安装包在哪里找 (33)
- linux查看python版本信息 (35)
- python怎么改成中文 (35)
- php文件怎么在浏览器运行 (33)
- eval在python中的意思 (33)
- python安装opencv库 (35)
- python div (34)
- sticky css (33)
- python中random.randint()函数 (34)
- python去掉字符串中的指定字符 (33)
- python入门经典100题 (34)
- anaconda安装路径 (34)
- yield和return的区别 (33)
- 1到10的阶乘之和是多少 (35)
- python安装sklearn库 (33)
- dom和bom区别 (33)
- js 替换指定位置的字符 (33)
- python判断元素是否存在 (33)
- sorted key (33)
- shutil.copy() (33)