Scrapy是一个快速的高级Web爬网Web爬框架,用于对网站进行爬网并从其页面中提取结构化数据。它可以用于从数据挖掘到监视和自动化测试的广泛用途。

Scrapy 简单介绍

Scrapy是用于爬网网站和提取结构化数据的应用程序框架,可用于各种有用的应用程序,例如数据挖掘,信息处理或历史档案。

即使Scrapy最初是为Web抓取而设计的,它也可以用于使用API(例如Amazon Associates Web Services)或用作通用Web搜寻器来提取数据。

Scrapy框架因为功能十分强大,所以依赖很多库,不能直接安装,需要先安装依赖库

安装方法

支持的Python版本

Scrapy需要Python 3.6+,或者CPython实现(默认)或PyPy 7.2.0+实现(请参阅替代实现)。

如果您使用的是AnacondaMiniconda,则可以从conda- forge渠道安装该软件包,该渠道包含适用于Linux,Windows和macOS的最新软件包。

安装须知

Scrapy是用纯Python编写的,并且依赖于一些关键的Python包(以及其他一些包):

  • lxml,一个高效的XML和HTML解析器
  • parsel,是在lxml之上编写的HTML / XML数据提取库,
  • w3lib,用于处理URL和网页编码的多功能帮助器
  • twisted的异步网络框架
  • cryptographypyOpenSSL, 以处理各种网络级安全需求

测试Scrapy的最低版本为:

  • 扭曲的14.0
  • lxml 3.4
  • pyOpenSSL 0.14

Scrapy可以使用这些软件包的较旧版本,但不能保证它将继续运行,因为尚未对其进行测试。

正式安装

Windows上安装Scrapy

尽管可以使用pip在Windows上安装Scrapy,但我们建议您安装AnacondaMiniconda并使用conda - forge渠道中的软件包 ,这将避免大多数安装问题。

安装AnacondaMiniconda后,请使用以下方法安装Scrapy:

  1. conda install -c conda-forge scrapy

要在Windows上使用pip以下方法安装Scrapy :

警告:此安装方法需要“ Microsoft Visual C ++”来安装一些Scrapy依赖项,与Anaconda相比,它需要更多的磁盘空间。


  1. 下载并执行Microsoft C ++生成工具以安装Visual Studio安装程序。

  2. 运行Visual Studio安装程序。

  3. 在“工作量”部分下,选择“ C ++构建工具”

  4. 检查安装详细信息,并确保选择以下软件包作为可选组件:
  • MSVC (例如MSVC v142-VS 2019 C ++ x64 / x86构建工具(v14.23))
  • Windows SDK (例如Windows 10 SDK(10.0.18362.0))

  1. 安装Visual Studio生成工具。

现在,您应该可以使用安装Scrapypip

Ubuntu 14.04或更高版本

目前,Scrapy已使用最新版本的lxml,twisted和pyOpenSSL进行了测试,并且与最新的Ubuntu发行版兼容。但是它也应该支持Ubuntu的较早版本,例如Ubuntu 14.04,尽管存在TLS连接的潜在问题。

不要使用python-scrapyUbuntu提供的软件包,它们通常太旧且太慢,无法赶上最新的Scrapy。

要在Ubuntu(或基于Ubuntu的)系统上安装Scrapy,您需要安装以下依赖项:

  1. sudo apt-get install python3 python3-dev python3-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev
  • python3-devzlib1g-devlibxml2-devlibxslt1-dev 所需要的lxml
  • libssl-dev并且libffi-dev是必需的cryptography

virtualenv内,您可以pip在之后安装Scrapy :

  1. pip install scrapy

笔记

相同的非Python依赖项可用于在Debian Jessie(8.0)及更高版本中安装Scrapy。

Mac系统上安装

构建Scrapy的依赖项需要C编译器和开发标头的存在。在macOS上,这通常由Apple的Xcode开发工具提供。要安装Xcode命令行工具,请打开一个终端窗口并运行:

  1. xcode-select --install

存在一个已知问题,无法pip更新系统软件包。必须解决此问题才能成功安装Scrapy及其依赖项。以下是一些建议的解决方案:


  • (推荐) 不要使用系统python,安装一个新的,更新的版本,该版本应与系统的其余部分不冲突。使用自制程序包管理器的方法如下:


    • 按照https://brew.sh/中的说明安装自制软件

    • 更新PATH变量以声明应在系统软件包之前使用自制软件软件包(如果将zsh用作默认外壳,请更改.bashrc.zshrc一致):

      1. echo "export PATH=/usr/local/bin:/usr/local/sbin:$PATH" >> ~/.bashrc

    • 重新加载.bashrc以确保已进行更改:

      1. source ~/.bashrc

    • 安装python:

      1. brew install python

    • 最新版本的python已pip捆绑在一起,因此您无需单独安装。如果不是这种情况,请升级python:

      1. brew update; brew upgrade python

此方法是解决上述macOS问题的一种解决方法,但它是管理依赖项的总体良好做法,可以补充第一种方法。

这些解决方法中的任何一种之后,您都应该能够安装Scrapy:

  1. pip install Scrapy

故障排除

其他常见问题请参照官方文档, 本笔记是个人及结合官方文档进行的记录

查看是否安装成功

BC48AE11-42A5-4840-960B-077312BA8067.png