Python Scrapy安装(超级详细,一看就懂)

安装 Scrapy 与安装其他 Python 包没有区别,同样使用如下命令来安装:

pip install scrapy

如果在命令行窗口中运行该命令,将会看到程序并不立即下载、安装 Scrapy,而是不断地下载大量第三方包。

如果在命令行窗口中提示找不到 pip 命令,则也可以通过 python 命令运行 pip 模块来安装 Scrapy,例如 python -m pip install scrapy

这是因为 Scrapy 需要依赖、大量第三方包。典型的,Scrapy 需要依赖如下第三方包:
  • pyOpenSSL:Python 用于支持 SSL(Security Socket Layer)的包。
  • cryptography:Python 用于加密的库。
  • CFFI:Python 用于调用 C 的接口库。
  • zope.interface:为 Python 缺少接口而提供扩展的库。
  • lxml:一个处理 XML、HTML 文档的库,比 Python 内置的 xml 模块更好用。
  • cssselect:Python 用于处理 CSS 选择器的扩展包。
  • Twisted:为 Python 提供的基于事件驱动的网络引擎包。
  • ......

如果在 Python 环境下没有这些第三方包,那么 Python 会根据依赖自动下载并安装它们。这个过程原本没啥好讲的,pip 通常会自动完成整个过程,我们只需要等待即可。但 pip 在自动下载、安装 Twisted 时会提示以下错误:

error:Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools":http://landinghub.visualstudio.com/visual-cpp-build-tools

按照上面的错误提示,我们需要先下载和安装 Microsoft Visual C++ Build Tools 工具,然后才能安装 Twisted。为了安装一个小小的 Twisted 包,难道就需要安装一个庞大的 Microsoft Visual C++ Build Tools?

答案是否定的,提示上面的错误只是因为 pip 自动下载的 Twisted 安装包有一些缺陷,因此可以先自行下载 Twisted 安装包。登录 www.lfd.uci.edu/~gohlke/pythonlibs/ 站点,在该页面中间查找“Twisted”项目,可以看到如图 1 所示的下载链接。

Twisted 包的下载链接
图 1 Twisted 包的下载链接

从图 1 所示的链接可以看到,当前 Twisted 的最新版是 18.9.0,Twisted 为 2.7、3.5、3.6、3.7 等不同版本的 Python 提供了对应的安装包。由于本教程内容主要以 Python 3.6 为主,因此应该下载 Twisted 的 Python 3.6 版本,其中文件名带 win32 的是 32 位版本,而带 win_amd64 的则是 64 位版本,此处还需要根据操作系统的位数选择对应的版本。

在下载了合适的 Twisted 安装包后,会得到一个 Twisted-18.9.0-cp36-cp36m-win_amd64.whl 文件(针对 64 位系统的),该文件就是 Twisted 安装包。

运行如下命令来安装 Twisted 包。

pip install Twisted-18.9.0-cp36-cp36m-win_amd64.whl

在安装过程中会自动检查,如有必要,会自动下载并安装 Twisted 所依赖的第三方包,如 zope.interface、Automat、incremental 等。

在安装完成后,会提示如下安装成功的信息:

Successfully installed Twisted-18.9.0

在成功安装 Twisted 包之后,再次执行 pip install scrapy 命令,即可成功安装 Scrapy。在安装成功后,会显示如下提示信息:

Successfully installed Scrapy-1.6.1

在成功安装 Scrapy 之后,可以通过 pydoc 来查看 Scrapy 的文档。在命令行窗口中输入如下命令:

python -m pydoc -p 8899

运行上面命令之后,打开浏览器查看 http://localhost:8899/ 页面,可以在 Python 安装目录的lib\site-packages下看到 Scrapy 的文档,如图 2 所示。

Scrapy 的文档
图 2 Scrapy 的文档