开始使用 beautifulsoup

在本节中,我们将讨论 Beautiful Soup 是什么,它的用途以及如何使用它的简要概述。

Beautiful Soup 是一个 Python 库,它使用你预先安装的 html / xml 解析器,并将网页/ html / xml 转换为由标签,元素,属性和值组成的树。更确切地说,树由四种类型的对象组成,Tag,NavigableString,BeautifulSoup 和 Comment。然后可以使用从解析器库创建的 BeautifulSoup 对象的方法/属性查询此树。

你的需求: 通常,你可能会满足以下需求之一:

  1. 你可能需要解析网页以确定,找到了多少标签,找到每个标签的元素数量及其值。你可能想要更改它们。

  2. 你可能希望确定元素名称和值,以便可以将它们与其他库一起用于网页自动化,例如 Selenium

  3. 你可能希望将网页中显示的数据传输/提取为其他格式,例如 CSV 文件或关系数据库(如 SQLite 或 mysql)。在这种情况下,尽管你将使用其他库来执行传输操作,但库可帮助你了解网页结构的第一步。

  4. 你可能想知道使用某种 CSS 样式设置了多少个元素以及哪些元素。

**** Python 代码中典型基本用法的顺序

  1. 导入 Beautiful Soup 库

  2. 使用 BeautifulSoup 库打开网页或 html 文本,提及要使用的解析器。此步骤的结果是 BeautifulSoup 对象。 (注意:提到的这个解析器名称必须已经作为 Python pacakges 的一部分安装。例如,html.parser 是 Python 附带的内置带电池软件包。你可以安装其他解析器,如 lxmlhtml5lib 。)

  3. 查询或使用语法'object.method'搜索 BeautifulSoup 对象,并将结果获取到集合中,例如 Python 字典。对于某些方法,输出将是一个简单的值。

  4. 使用上一步中的结果,在其余的 Python 代码中执行你想要执行的操作。你还可以修改树对象中的元素值或属性值。修改不会影响 html 代码的来源,但你可以调用输出格式化方法(例如 prettify)以从 BeautifulSoup 对象创建新输出。

常用方法: 通常,.find.find_all 方法用于搜索树,给出输入参数。

输入参数是:正在搜索的标记名称,属性名称和其他相关参数。这些参数可以表示为:字符串,正则表达式,列表甚至函数。

**** BeautifulSoup 对象的常见用途包括:

  1. 按 CSS 类搜索
  2. 按超链接地址搜索
  3. 按元素 ID 搜索,标记
  4. 按属性名称搜索。属性值。

如果你需要使用上述条件的组合过滤树,你还可以编写一个计算结果为 true 或 false 的函数,并按该函数进行搜索。