简介
网络为我们提供了比我们能阅读和理解的更多数据,因此我们经常希望以编程方式处理这些信息,以便理解它。有时,网站创建者通过 .csv
或逗号分隔值文件或通过 API(应用程序编程接口)向我们提供这些数据。其他时候,我们需要自己从网络上收集文本。
本教程将介绍如何使用 Requests 和 Beautiful Soup Python 包来利用网页数据。Requests 模块允许您将 Python 程序与 Web 服务集成,而 Beautiful Soup 模块旨在快速完成屏幕抓取。使用 Python 交互式控制台和这两个库,我们将学习如何收集网页并处理其中可用的文本信息。
安装 Requests
让我们首先激活我们的 Python 3 编程环境。确保您位于环境所在的目录,并运行以下命令:
. my_env/bin/activate
为了处理网页,我们需要请求页面。Requests 库允许您以人类可读的方式在 Python 程序中使用 HTTP。
在激活我们的编程环境后,我们将使用 pip 安装 Requests:
pip install requests
安装 Requests 库时,您将收到以下输出:
Collecting requests
Downloading requests-2.26.0-py2.py3-none-any.whl (88kB)
100% |████████████████████████████████| 92kB 3.1MB/s
...
Installing collected packages: chardet, urllib3, certifi, idna, requests
Successfully installed certifi-2017.4.17 chardet-3.0.4 idna-2.5 requests-2.26.0 urllib3-1.21.1
如果 Requests 已经安装,您将从终端窗口收到类似以下的反馈:
Requirement already satisfied
...
安装 Requests 到我们的编程环境后,我们可以继续安装下一个模块。
安装 Beautiful Soup
与安装 Requests 一样,我们将使用 pip 安装 Beautiful Soup。当前版本的 Beautiful Soup 4 可以使用以下命令安装:
pip install beautifulsoup4
运行此命令后,您应该会看到类似以下的输出:
Collecting beautifulsoup4
Downloading beautifulsoup4-4.10.0-py3-none-any.whl (97 kB)
|████████████████████████████████| 97 kB 6.8 MB/s
Collecting soupsieve>1.2
Downloading soupsieve-2.3.1-py3-none-any.whl (37 kB)
Installing collected packages: soupsieve, beautifulsoup4
Successfully installed beautifulsoup4-4.10.0 soupsieve-2.3.1
现在 Beautiful Soup 和 Requests 都已安装,我们可以继续了解如何使用这些库来抓取网站。
使用 Requests 收集网页
现在我们已经安装了要使用的两个 Python 库,我们可以熟悉