Beautiful Soup 是一个 Python 库,用于解析 HTML 和 XML 文档。它能够从网页中提取数据,常用于网络爬虫和数据抓取。Beautiful Soup 提供了简单易用的 API,可以轻松地遍历和搜索解析树,从而提取所需的信息。
html.parser
,以及第三方库如 lxml
和 html5lib
。解析器负责将 HTML 或 XML 文档转换成解析树。假设我们有一个简单的 HTML 表格:
<table>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
<tr>
<td>Alice</td>
<td>30</td>
</tr>
<tr>
<td>Bob</td>
<td>25</td>
</tr>
</table>
使用 Beautiful Soup 提取表格数据的代码如下:
from bs4 import BeautifulSoup
html_doc = """
<table>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
<tr>
<td>Alice</td>
<td>30</td>
</tr>
<tr>
<td>Bob</td>
<td>25</td>
</tr>
</table>
"""
soup = BeautifulSoup(html_doc, 'html.parser')
# 找到所有的行
rows = soup.find_all('tr')
for row in rows:
# 找到当前行的所有单元格
cells = row.find_all(['th', 'td'])
row_data = [cell.get_text(strip=True) for cell in cells]
print(row_data)
lxml
或 html5lib
,它们通常更宽容。find
或 find_all
方法时,未能找到预期的元素。lxml
解析器,它通常比默认的 html.parser
更快。通过以上方法,可以有效利用 Beautiful Soup 进行 HTML 和 XML 文档的解析和处理。
领取专属 10元无门槛券
手把手带您无忧上云