from bs4 import BeautifulSoup
bs4 是一个 HTML/XML 的解析器,其主要功能是解析和提取 HTML/XML 数据。
bs4 库会将复杂的 HTML 文档换成树结构(HTML DOM),这个结构中的每个节点都是一个 Python 对象。
表示 HTML 中的标签,是最基本的信息组织单元,它有两个非常重要的属性,分别是表示标签名字的 name 属性和表示标签属性的 attrs 属性。
表示 HTML 中标签的文本。
表示 HTML DOM 中的全部内容,支持遍历文档树和搜索文档树的大部分方法。
表示标签内字符串的注释部分,是一种特殊的 NavigableString 对象。
使用 bs4:
根据 HTML 或者文件创建 BeautifulSoup 对象。
根据 DOM 树进行各种节点的搜索(find_all() 方法可以搜索出所有满足要求的节点,find() 方法只会搜索出第一个满足要求的节点 ),只要获得了一个节点,就可以访问节点的名称、属性和文本。
在搜索节点时,也可以按照节点的名称、节点的属性或者节点的文字进行搜索。
一、构建 BeautifulSoup 对象
通过一个字符串或者类文件对象可以创建 BeautifulSoup 类的对象。
def __init__(self, markup="", features=None, builder=None, parse_only=None, from_encoding=None, exclude_encodings=None, **kwargs)
要解析的文档字符串或文件对象。
解析器的名称。
指定的解析器。
指定的编码格式。
排除的编码格式。
# 根据字符串 html_doc 创建一个 BeautifulSoup 对象
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_doc, 'lxml')
在创建 BeautifulSoup 实例时共传入了两个参数。其中,第一个参数表示包含被解析 HTML 文档的字符串;第二个参数表示使用 lxml 解析器进行解析。