You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python3-BeautifulSoup3从HTML表格指定行提取目标字符串?

用BeautifulSoup提取HTML表格特定行的目标文本

我最近在尝试用BeautifulSoup从HTML表格的行里提取特定字符串,想要拿到第二行和第三行里的SANDAL与SHORTS。我知道用正则或者字符串函数也能解决,但更想尽可能用BeautifulSoup的方法来实现,这样能更好地学习它的用法。

下面是我写的部分Python代码和对应的HTML结构:

我的Python代码片段

from bs4 import BeautifulSoup  # 补充了必要的导入语句
soup = BeautifulSoup(page, 'html.parser')
table = soup.find('table')
row = table.find_next('tr')
row = row.find_next('tr')

对应的HTML结构

<html> 
<body> 
<div id="body"> 
<div class="data"> 
<table id="products"> 
<tr><td>PRODUCT<td class="ole1">ID<td class="c1">TYPE<td class="ole1">WHEN<td class="ole4">ID<td class="ole4">ID</td></tr> 
<tr><td>SANDAL<td class="ole1">77313<td class="ole1">wear<td class="ole1">new<td class="ole4">id<td class="ole4">878717</td></tr> 
<tr><td>SHORTS<td class="ole1">77314<td class="ole1">wear<td class="ole1">new<td class="ole4">id<td class="ole4">878718</td></tr> 
</table> 
</div> 
</div> 
</body> 
</html>

解决方案:用BeautifulSoup定位目标行并提取文本

其实你已经找到了正确的方向,只需要再扩展几步就能拿到目标内容。这里有两种简洁的方法:

方法一:遍历所有行,跳过表头后提取

from bs4 import BeautifulSoup

soup = BeautifulSoup(page, 'html.parser')
table = soup.find('table', id='products')  # 用id定位表格更精准
rows = table.find_all('tr')  # 获取表格内所有行元素

# 跳过第一行表头,遍历第二、第三行
for row in rows[1:3]:  # 列表索引从0开始,rows[0]是表头,rows[1]/rows[2]是目标行
    first_td = row.find('td')  # 获取每行的第一个<td>元素
    print(first_td.get_text(strip=True))  # 提取文本并自动去除多余空白

方法二:基于你现有代码继续定位

如果你不想一次性获取所有行,可以在你当前的代码基础上继续向后查找行:

from bs4 import BeautifulSoup

soup = BeautifulSoup(page, 'html.parser')
table = soup.find('table')

# 跳过表头行,直接定位到第二行
row = table.find_next('tr').find_next('tr')
print(row.find('td').get_text(strip=True))  # 输出:SANDAL

# 继续定位到第三行
row = row.find_next('tr')
print(row.find('td').get_text(strip=True))  # 输出:SHORTS

关键说明

  • find_all('tr')会返回表格内所有行的列表,通过索引[1:3]可以快速筛选出第二、第三行。
  • 每行的第一个<td>就是我们要的产品名称,find('td')可以直接定位到该行的第一个单元格。
  • get_text(strip=True)不仅能提取文本内容,还会自动去除文本前后的空白字符,在实际场景中能避免很多格式问题。

内容的提问来源于stack exchange,提问作者sandra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 16:12:43