前面了解了什么是Scrapy和其工作原理,下面先开始安装Scrapy。
版本说明
本教程使用的Scrapy版本为2.11(目前最新的),需要使用Python3.8版以上的版本,支持CPython或PyPy的实现。
使用Python的pip安装
如果你习惯使用Python自带的pypi进行Python模块的管理,使用下面的命令进行安装即可:
pip install scrapy |
使用conda安装
如果你使用的是Anaconda或Miniconda,你可以通过conda-forge进行包的安装和管理,其同时支持Windows、Linux和MacOS。
使用conda安装可使用
conda install -c conda-forge scrapy |
须知
不管使用上面哪种方式安装,都有以下几点需要注意:
- 尽量使用虚拟环境进行安装,避免模块间引发冲突
- 尽管Scrapy是纯Python实现的,但仍然依赖了几个Python的包:
- lxml,一个高效的XML 和HTML解析器
- parsel,一个基于lxml模块的HTML/XML数据提取库
- w3lib,一个处理URL和网页解码的模块
- twised,一个异步网络框架
- cryptography和pyOpenSSL,用于处理各种网络安全问题
由于涉及了一些依赖的模块,这些依赖的模块,在不同系统环境下,需要安装不同的依赖,不同平台的安装依赖说明中进行了解释。
各平台安装依赖说明
Windows安装
如果你使用conda安装,可能在Windows下可以避免以下问题,如果使用pip安装可能会碰到。
无论哪个方式安装,如果报错中遇到C++不支持的问题,请安装MSVC v142 - VS 2019 C++ x64/x86 build tools(v14.23)
即MSVC++运行库2019。
若安装C++运行库仍无法安装,请使用Microsoft C++ Build Tools
安装MSVC v142 - VS 2019 C++ x64/x86 build tools(v14.23)
和Windows 10 SDK(10.0.18362.0)
。
Linux安装
Linux系统的分发版本比较多,这里以流行的Ubuntu为例。
不要安装python-scrapy
这是一个老的版本,运行速度比较慢。
在Ubuntu上安装Scrapy需要安装以下依赖
sudo apt-get install python3 python3-dev python3-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev |
python3-dev
,libxml2-dev
,zilb1g-dev
和libxslt1-dev
是lxml的依赖libssl-dev
和libffi-dev
是cryptography的依赖
Mac安装
Mac中需要安装C语言编译器和Xcode提供的开发环境,使用下面命令安装Xcode命令行工具
xcode-select --install |
这里建议Mac用户,使用最新的Python,一般Mac中自带一个Python,但大多版本比较老,可以使用以下命令进行更新:
brew update;brew upgrade python |
安装的方法就介绍的这里,如果还有其他安装问题无法通过网络搜索解决,可联系共同探讨。