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

Python & BeautifulSoup新手求助:如何从给定HTML代码提取标签?

新手友好的流量数据提取方案

嘿,别慌!作为刚接触Python、BS和Selenium的新手,能爬到目标页面已经超棒了~ 你拿到的这个带data-*属性的div,就是藏着流量数据的关键!接下来咱们一步步把这些数值提取出来:

一、用BeautifulSoup提取数据

假设你已经把爬取到的页面内容转换成了BeautifulSoup对象,直接定位元素+提取属性就行:

示例代码

from bs4 import BeautifulSoup

# 假设你爬取的页面内容存在html变量中
soup = BeautifulSoup(html, 'html.parser')

# 精准定位到带data属性的目标div
target_div = soup.find('div', class_='usage_circle').find('center').find('div')

# 提取各个流量相关数据,记得转换为合适的数值类型
used_percent = int(target_div['data-perc'])  # 已用百分比(69)
usage_ratio = float(target_div['data-transitiongoal'])  # 流量使用比例(0.69)
used_traffic = float(target_div['data-usage'])  # 已用流量(150.29)

# 打印看看结果
print(f"当前已用流量百分比:{used_percent}%")
print(f"流量使用占比:{usage_ratio}")
print(f"已用流量:{used_traffic} GB")  # 单位根据实际情况调整,比如MB

二、用Selenium直接提取(不用BeautifulSoup)

如果你的页面是动态加载的,用Selenium直接定位元素提取属性更省心:

示例代码

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 初始化浏览器驱动(这里用Chrome,你也可以用Firefox等)
driver = webdriver.Chrome()
driver.get("你的ISP流量监控页面URL")

# 等待元素加载完成(避免页面没加载完就提取导致报错)
try:
    target_element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.CSS_SELECTOR, 'div.usage_circle center div'))
    )

    # 提取属性值并转换类型
    used_percent = int(target_element.get_attribute('data-perc'))
    usage_ratio = float(target_element.get_attribute('data-transitiongoal'))
    used_traffic = float(target_element.get_attribute('data-usage'))

    print(f"当前已用流量百分比:{used_percent}%")
    print(f"流量使用占比:{usage_ratio}")
    print(f"已用流量:{used_traffic} GB")
finally:
    driver.quit()  # 记得关闭浏览器

几个新手注意点

  • 元素定位要准确:如果页面有多个usage_circle类的元素,得调整定位方式(比如用XPath或者更具体的CSS选择器)
  • 异常处理:如果遇到属性值为空或者非数字的情况,记得用try-except包裹,避免程序崩溃
  • 动态页面要等加载:用Selenium时,一定要等待元素加载完成再操作,不然会找不到元素哦

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:48:18