爬虫入门到精通_框架篇15(Scrapy框架安装)

1 Scrapy安装

Scrapy的安装有多种方式,它支持Python2.7版本及以上或Python3.3版本及以上。下面说明Python3环境下的安装。

Scrapy依赖的库比较多,至少需要依赖库有Twisted14.0,lxml 3.4,pyOpenSSL 0.14。而在不同平台环境又各不相同,所以在安装之前最好确保把一些基本库安装好,尤其是Windows。

2 Anaconda

安装命令如下:

复制代码
conda install Scrapy

3 Windows

安装lxml

最后通过wheel安装。

查找:https://www.lfd.uci.edu/\~gohlke/pythonlibs/

安装命令:

复制代码
pip3 install wheel
pip3 install lxml‑3.7.2‑cp35‑cp35m‑win_amd64.whl

安装pyOpenSSL

下载网页:https://pypi.python.org/pypi/pyOpenSSL#downloads

安装命令:

复制代码
pip3 install pyOpenSSL-16.2.0-py2.py3-none-any.whl

安装Twisted

安装命令:

复制代码
pip3 install Twisted‑17.1.0‑cp35‑cp35m‑win_amd64.whl

安装pywin32

从官方网站https://github.com/mhammond/pywin32/releases/下载对应版本

安装Scrapy

复制代码
pip3 install Scrapy

验证安装成功:

4 CentOS̵ RedHat̵ Fedora

依赖库安装

确保一些必须的类库已经安装,运行如下命令:

复制代码
sudo yum groupinstall development tools
sudo yum install python34-devel epel-release libxslt-devel libxml2-devel openssl-devel

安装Scrapy

复制代码
pip3 install Scrapy

5 Ubuntu̵ Debian̵ Deepin

依赖库安装

确保一些必须的类库已经安装,运行如下命令:

复制代码
sudo apt-get install build-essential python3-dev libssl-dev libffi-dev libxml2
libxml2-dev libxslt1-dev zlib1g-dev

安装Scrapy

复制代码
pip3 install Scrapy

6 Mac OS

依赖库安装

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

复制代码
xcode-select --install

安装Scrapy

复制代码
pip3 install Scrapy

7 常见错误

  • pkg_resources.VersionConflict: (six 1.5.2 (/usr/lib/python3/dist-packages),
    Requirement.parse('six>=1.6.0'))

six包版本过低,six包是一个提供兼容Python2和Python3的库,升级six包即可。

复制代码
sudo pip3 install -U six
  • c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory

缺少Libffi这个库。什么是Libffi?"FFI"的全名是Foreign Function Interface,通常指的是允许以一种语言编写的代码调用另一种语言的代码。而Libffi库只提供了最底层的,与架构相关的,完整的"FFI"。

安装相应的库即可。

Ubuntu̵ Debian:

复制代码
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev

CentOS̵ RedHat:

复制代码
sudo yum install gcc libffi-devel python-devel openssl-devel
  • ImportError: No module named 'cryptography'

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

复制代码
sudo pip3 install cryptography
  • ImportError: No module named 'packaging'

缺少packaging这个包,它提供了Python包的核心功能,利用pip安装即可。

复制代码
sudo pip3 install packaging
  • ImportError: No module named 'appdirs'

缺少appdirs这个包,它用来确认文件目录,利用pip单独安装即可。

复制代码
sudo pip3 install appdirs
相关推荐
csdn_aspnet1 小时前
Libvio.link爬虫技术深度解析:反爬机制破解与高效数据抓取
爬虫·反爬·libvio
0思必得03 小时前
[Web自动化] Selenium处理滚动条
前端·爬虫·python·selenium·自动化
vx_biyesheji00014 小时前
豆瓣电影推荐系统 | Python Django 协同过滤 Echarts可视化 深度学习 大数据 毕业设计源码
大数据·爬虫·python·深度学习·django·毕业设计·echarts
深蓝电商API5 小时前
爬虫IP封禁后的自动切换与检测机制
爬虫·python
喵手7 小时前
Python爬虫实战:公共自行车站点智能采集系统 - 从零构建生产级爬虫的完整实战(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集公共自行车站点·公共自行车站点智能采集系统·采集公共自行车站点导出csv
喵手7 小时前
Python爬虫实战:地图 POI + 行政区反查实战 - 商圈热力数据准备完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·地区poi·行政区反查·商圈热力数据采集
芷栀夏7 小时前
从 CANN 开源项目看现代爬虫架构的演进:轻量、智能与统一
人工智能·爬虫·架构·开源·cann
喵手1 天前
Python爬虫实战:HTTP缓存系统深度实战 — ETag、Last-Modified与requests-cache完全指南(附SQLite持久化存储)!
爬虫·python·爬虫实战·http缓存·etag·零基础python爬虫教学·requests-cache
喵手1 天前
Python爬虫实战:容器化与定时调度实战 - Docker + Cron + 日志轮转 + 失败重试完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·容器化·零基础python爬虫教学·csv导出·定时调度
喵手1 天前
Python爬虫实战:全站 Sitemap 自动发现 - 解析 sitemap.xml → 自动生成抓取队列的工业级实现!
爬虫·python·爬虫实战·零基础python爬虫教学·sitemap·解析sitemap.xml·自动生成抓取队列实现