如何用Python 3从指定HTML代码中提取2019、0.7和4.50%?
Python 3提取HTML指定内容的实用方案
我知道你谷歌搜了一圈没找到合适的Python 3解决方案,针对你给出的这段HTML内容,咱们用专门的HTML解析库来搞定最靠谱,推荐用BeautifulSoup——这是处理HTML提取的常用工具,简单易维护。
步骤说明:
- 先安装依赖(如果还没装的话):
pip install beautifulsoup4
- 编写提取代码:
from bs4 import BeautifulSoup # 把你给出的HTML内容放这里 html_str = """<td rowspan='2' style='vertical-align:middle'>2019</td><td rowspan='2' style='vertical-align:middle;font-weight:bold;'>4.50%</td><td rowspan='2' style='vertical-align:middle;font-weight:bold;'>SGD 0.7</td> <td>SGD0.2 </td>""" # 解析HTML soup = BeautifulSoup(html_str, 'html.parser') # 定位所有带rowspan="2"的td标签——正好你的目标内容都在这些标签里 target_cells = soup.find_all('td', attrs={'rowspan': '2'}) # 提取并整理需要的内容 year = target_cells[0].get_text(strip=True) # 提取2019 interest_rate = target_cells[1].get_text(strip=True) # 提取4.50% sgd_amount = target_cells[2].get_text(strip=True).split()[1] # 从"SGD 0.7"里拆分出0.7 # 验证结果 print(year) # 输出:2019 print(interest_rate) # 输出:4.50% print(sgd_amount) # 输出:0.7
补充说明:
- 为什么不用正则?HTML结构如果有细微变化(比如空格、属性顺序调整),正则很容易失效,而BeautifulSoup会帮你处理这些细节,稳定性更高。
- 如果你的HTML是来自完整的网页,也可以直接把网页源码传入BeautifulSoup,逻辑是一样的。
内容的提问来源于stack exchange,提问作者user3702643
相关产品推荐
相关产品推荐

