「从零开始Python爬虫」1.8.2 Scrapy的安装
off999 2025-06-10 17:24 23 浏览 0 评论
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 toolssudo yum install -y epel-release libxslt-devel libxml2-devel openssl-devel最后利用pip安装Scrapy即可:
pip3 install ScrapyUbuntu、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 sixc/_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-develCommand "python setup.py egg_info" failed with error code 1 in /tmp/pip-build/cryptography/这是缺少加密的相关组件,此时利用pip安装即可:
pip3 install cryptographyImportError: No module named 'packaging'这是因为缺少packaging包出现的错误,这个包提供了Python包的核心功能,此时利用pip安装即可。
ImportError: No module named '_cffi_backend'这个错误表示缺少cffi包,直接使用pip安装即可:
pip3 install cffiImportError: No module named 'pyparsing'这个错误表示缺少pyparsing包,直接使用pip安装即可:
pip3 install pyparsing appdirs相关推荐
- 阿里云国际站ECS:阿里云ECS如何提高网站的访问速度?
-
TG:@yunlaoda360引言:速度即体验,速度即业务在当今数字化的世界中,网站的访问速度已成为决定用户体验、用户留存乃至业务转化率的关键因素。页面加载每延迟一秒,都可能导致用户流失和收入损失。对...
- 高流量大并发Linux TCP性能调优_linux 高并发网络编程
-
其实主要是手里面的跑openvpn服务器。因为并没有明文禁p2p(哎……想想那么多流量好像不跑点p2p也跑不完),所以造成有的时候如果有比较多人跑BT的话,会造成VPN速度急剧下降。本文所面对的情况为...
- 性能测试100集(12)性能指标资源使用率
-
在性能测试中,资源使用率是评估系统硬件效率的关键指标,主要包括以下四类:#性能测试##性能压测策略##软件测试#1.CPU使用率定义:CPU处理任务的时间占比,计算公式为1-空闲时间/总...
- Linux 服务器常见的性能调优_linux高性能服务端编程
-
一、Linux服务器性能调优第一步——先搞懂“看什么”很多人刚接触Linux性能调优时,总想着直接改配置,其实第一步该是“看清楚问题”。就像医生看病要先听诊,调优前得先知道服务器“哪里...
- Nginx性能优化实战:手把手教你提升10倍性能!
-
关注△mikechen△,十余年BAT架构经验倾囊相授!Nginx是大型架构而核心,下面我重点详解Nginx性能@mikechen文章来源:mikechen.cc1.worker_processe...
- 高并发场景下,Spring Cloud Gateway如何抗住百万QPS?
-
关注△mikechen△,十余年BAT架构经验倾囊相授!大家好,我是mikechen。高并发场景下网关作为流量的入口非常重要,下面我重点详解SpringCloudGateway如何抗住百万性能@m...
- Kubernetes 高并发处理实战(可落地案例 + 源码)
-
目标场景:对外提供HTTPAPI的微服务在短时间内收到大量请求(例如每秒数千至数万RPS),要求系统可弹性扩容、限流降级、缓存减压、稳定运行并能自动恢复。总体思路(多层防护):边缘层:云LB...
- 高并发场景下,Nginx如何扛住千万级请求?
-
Nginx是大型架构的必备中间件,下面我重点详解Nginx如何实现高并发@mikechen文章来源:mikechen.cc事件驱动模型Nginx采用事件驱动模型,这是Nginx高并发性能的基石。传统...
- Spring Boot+Vue全栈开发实战,中文版高清PDF资源
-
SpringBoot+Vue全栈开发实战,中文高清PDF资源,需要的可以私我:)SpringBoot致力于简化开发配置并为企业级开发提供一系列非业务性功能,而Vue则采用数据驱动视图的方式将程序...
- Docker-基础操作_docker基础实战教程二
-
一、镜像1、从仓库获取镜像搜索镜像:dockersearchimage_name搜索结果过滤:是否官方:dockersearch--filter="is-offical=true...
- 你有空吗?跟我一起搭个服务器好不好?
-
来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。昨天闲的没事的时候,随手翻了翻写过的文章,发现一个很严重的问题。就是大多数时间我都在滔滔不绝的讲理论,却很少有涉及动手...
- 部署你自己的 SaaS_saas如何部署
-
部署你自己的VPNOpenVPN——功能齐全的开源VPN解决方案。(DigitalOcean教程)dockovpn.io—无状态OpenVPNdockerized服务器,不需要持久存储。...
- Docker Compose_dockercompose安装
-
DockerCompose概述DockerCompose是一个用来定义和管理多容器应用的工具,通过一个docker-compose.yml文件,用YAML格式描述服务、网络、卷等内容,...
- 京东T7架构师推出的电子版SpringBoot,从构建小系统到架构大系统
-
前言:Java的各种开发框架发展了很多年,影响了一代又一代的程序员,现在无论是程序员,还是架构师,使用这些开发框架都面临着两方面的挑战。一方面是要快速开发出系统,这就要求使用的开发框架尽量简单,无论...
- Kubernetes (k8s) 入门学习指南_k8s kubeproxy
-
Kubernetes(k8s)入门学习指南一、什么是Kubernetes?为什么需要它?Kubernetes(k8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。它...
欢迎 你 发表评论:
- 一周热门
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
