1、BS4简介
- BeautifulSoup(简称 BS4) 是一个用于解析 HTML 和 XML 文档的 Python 第三方库。
 - 它能够从网页或其他 HTML/XML 格式的文本中提取数据,并将其转换为结构化的对象,方便开发者快速定位、提取和操作所需信息。
 - 它的核心功能是通过解析器将无序的标记语言转换为树形结构(DOM 树),使数据提取过程更加直观和高效。
 
2、特点与优势
- 简单易用:提供简洁的 API,即使是新手也能快速上手,无需深入掌握复杂的 HTML 解析原理。
 - 兼容性强:支持多种解析器(如 Python 内置的html.parser、lxml等),可根据需求选择效率更高的解析方式。
 - 灵活处理:能处理不规范的 HTML 代码(如标签缺失闭合、格式混乱等),适应性强。
 - 高效提取:通过标签名、类名、ID、属性等多种方式定位元素,支持 CSS 选择器和正则表达式,提取数据更精准。
 
3、BS4安装
-  
Linux系统安装
$ sudo apt-get install python-bs4 -  
Mac系统安装
$ pip install bs4 -  
Windows系统安装
$ pip install bs4 
4、BS4使用
- BeautifulSoup 的核心功能及常用操作
 
1. 解析文档
- 基本使用
html = '''<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>首页</title> </head> <body><h1>音乐</h1><p class="content">张韶涵</p><ul><li><a href="/first">1 阿刁</a></li><li><a href="/second">2 墨色回响</a></li><li><a href="/third">3 无名之辈</a></li></ul> </body> </html>'''soup = BeautifulSoup(html, 'html.parser') # 使用html.parser解析器 
1 从字符串解析
- 常见解析器
 
| 解析器 | 优势 | 劣势 | 安装方式 | 
|---|---|---|---|
| html.parser | Python 内置,无需额外安装 | 功能较简单,效率一般 | 无需安装 | 
| lxml | 效率高,支持 XML 解析 | 需要额外安装 | pip install lxml | 
| html5lib | 解析规则更接近浏览器 | 效率较低 | pip install html5lib | 
2. 元素定位
- 常见使用 
- 通过标签名直接访问:soup.h1(获取第一个<h1>标签)
 - 通过属性查找:soup.find(‘p’, class_=‘content’)(查找 class 为 content 的 p 标签)
 - 通过 CSS 选择器:soup.select(‘p.conten