📜  “http:” 看起来像一个 URL. Beautiful Soup 不是 HTTP 客户端.您可能应该使用类似请求的 HTTP 客户端来获取 URL 后面的文档,并将该文档提供给 Beautiful Soup.标记 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:35:50.989000             🧑  作者: Mango

背景说明

在使用 Beautiful Soup 解析 HTML 文档之前,需要先获取该文档的 URL 地址所对应的 HTML 内容。虽然看起来 URL 地址本身已经是一个可用的 URL,但实际上它只是一个字符串,需要使用类似请求(requests)等 Python 库来向该地址发送 HTTP 请求,从而获取相应的 HTML 内容。

HTTP 客户端介绍

HTTP(Hypertext Transfer Protocol)是一种网络传输协议,用于在 Web 上传输文本、图片、音频、视频等文件。HTTP 客户端即是发送 HTTP 请求的客户端程序,主要用于与 Web 服务器交互并获取响应。

Python 中有多个 HTTP 客户端库可供使用,其中最为常用的是 requests 库。该库具有简单易用、功能丰富、性能优秀等特点,可用于发送 HTTP/1.1 和 HTTP/2 请求,并支持多种 HTTP 验证和安全证书验证方式。

使用 requests 库获取 HTML 内容

使用 requests 库获取 HTML 内容的步骤如下:

  1. 导入 requests 库:import requests
  2. 发送 HTTP 请求:response = requests.get(url)
  3. 获取响应内容:html_content = response.content

其中,url 是要访问的 URL 地址,response 是响应对象,content 是响应内容(以字节串的形式返回)。

示例代码

以下是使用 requests 库获取 HTML 内容的示例代码:

import requests

url = "https://example.com"
response = requests.get(url)
html_content = response.content

print(html_content)

该代码会向 https://example.com 发送 GET 请求,并将相应的 HTML 内容打印出来。

总结

在使用 Beautiful Soup 对 HTML 文档进行解析前,需要先使用类似请求等 HTTP 客户端库来获取该文档的 HTML 内容。requests 库是其中最为常用的 HTTP 客户端库之一,具有简单易用、功能丰富、性能优秀等特点。使用 requests 库发送 HTTP 请求并获取响应内容可供使用。