
python高效解析嵌套在div和span标签中的html表格数据
本文介绍如何利用Python的bs4库(Beautiful Soup 4)高效提取嵌套在div和span标签内的HTML表格数据。bs4库以其强大的HTML/XML解析能力而闻名,能轻松处理复杂的网页结构。
以下代码演示了如何使用bs4遍历HTML树,提取目标数据:
<code class="python">from bs4 import BeautifulSoup
import re
html_doc = '''
<div class="all hs_list" id="articlelistnew">
<div class="dheader">
阅读评论标题 作者 最后更新
</div>
<div class="articleh normal_post">
471 2 ... ... 09-12 00:09
</div>
<div class="articleh normal_post">
603 3 ... ... 09-11 16:01
</div>
</div>
'''
soup = BeautifulSoup(html_doc, 'html.parser')
# 查找包含表格数据的div
table_div = soup.find('div', {'id': 'articlelistnew'})
# 提取表格行
rows = table_div.find_all('div', {'class': 'articleh'})
# 遍历每一行,提取数据
for row in rows:
# 由于示例中没有span标签,直接按空格分割文本
cells = row.text.split()
print(cells)
</code>这段代码首先创建BeautifulSoup对象解析HTML。然后,它定位包含表格数据的div元素,再提取每一行数据。由于提供的示例HTML中div内的数据并非用span标签分隔,代码直接使用split()方法按空格分割文本,得到每一行单元格数据。 如果实际HTML中单元格用span标签包裹,则需要修改代码,使用row.find_all('span')提取span标签,再处理每个span标签的文本内容。 例如:
<code class="python">for row in rows:
cells = row.find_all('span')
cell_data = [cell.text.strip() for cell in cells] #strip()去除多余空格
print(cell_data)</code>通过调整代码中find_all()方法的参数,以及对提取数据的后处理,可以灵活地适应各种HTML表格结构。 记住根据实际HTML结构调整代码,以确保准确提取数据。
立即学习“Python免费学习笔记(深入)”;
以上就是Python如何使用BeautifulSoup库提取嵌套在div和span标签中的HTML表格数据?的详细内容,更多请关注php中文网其它相关文章!
HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号