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

如何用Python的Robobrowser、BeautifulSoup提取HTML指定文本

提取目标文本的解决方案

嘿,我来帮你搞定这个数据提取的问题!既然页面没有可用的类或ID,咱们就靠标签的属性和结构来精准定位内容。结合你给出的代码片段,这里是完整的实现方案:

步骤说明

  1. 首先确保你已经导入了BeautifulSoup和对应的浏览器库(从代码里的browser.open来看,你应该用的是mechanicalsoup)
  2. 定位到包含目标数据的<font color="white">标签——这是我们的核心切入点
  3. 遍历标签内的所有<b>元素,提取每个<b>之后的纯文本内容

完整代码示例

from bs4 import BeautifulSoup
import mechanicalsoup

# 初始化浏览器并打开目标页面
browser = mechanicalsoup.Browser()
page = browser.open(bank_url)
soup = BeautifulSoup(page.text, 'html.parser')

# 通过color属性定位到存储用户数据的font标签
target_container = soup.find('font', color='white')

# 提取每个字段的键值对,整理成字典
user_profile = {}
for bold_tag in target_container.find_all('b'):
    # 处理键名:去掉末尾的冒号和多余空白
    field_name = bold_tag.text.strip().rstrip(':')
    # 获取<b>标签之后的兄弟文本,清理空白字符
    field_value = bold_tag.next_sibling.strip()
    user_profile[field_name] = field_value

# 查看提取后的结构化数据
print(user_profile)

代码解释

  • 我们用soup.find('font', color='white')精准锁定数据容器,这个标签的color属性是当前唯一可利用的定位标识
  • 遍历每个<b>标签,把<b>内的文本(比如"Name"、"Money")作为字典的键,<b>后面紧跟的纯文本作为对应的值
  • 用strip()和rstrip(':')清理文本里的空白和多余符号,让最终数据更整洁

运行这段代码后,你会得到一个结构清晰的字典,示例输出如下:

{
    'Name': 'USERNAME [585743]',
    'Money': '$MONEY',
    'Location': 'CITY',
    'Level': '43',
    'Gold': '4706 / 5315'
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:38:55