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

使用BeautifulSoup提取指定class属性div标签内的整数文本内容

问题原因

  • 未设置请求头触发网站反爬机制,直接请求返回的页面内容不包含目标div标签
  • 原代码仅打印匹配到的标签对象,未提取内部文本并做格式处理
  • 多类名匹配用字符串方式可能出现空格差异导致匹配误差,改用类名列表匹配更稳定

修复后代码

from bs4 import BeautifulSoup
import requests

# 添加请求头模拟浏览器访问,规避反爬
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
URL = "https://auntm.ai/champions/abomination/tier/6"
page = requests.get(URL, headers=headers)
page.encoding = page.apparent_encoding # 自动适配页面编码避免乱码

soup = BeautifulSoup(page.text, "html.parser")

# 多类名用列表匹配,不受类名顺序、空格数量影响
target_div = soup.find('div', class_=["sc-ikPAkQ", "ceimHt"])
if target_div:
    # 提取标签内文本,去除首尾空白字符后转为整数
    prestige_num = int(target_div.get_text(strip=True))
    print(prestige_num)
else:
    print("未匹配到目标标签")

补充说明

如果添加请求头后仍然匹配不到目标标签,说明该内容是前端JS动态渲染生成的,requests只能获取静态HTML源码,无法拿到JS加载后的内容,此时需要使用Selenium、Playwright等自动化工具模拟浏览器加载完整页面后再提取内容。

内容的提问来源于stack exchange,提问作者Dheeraj-Tech

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:45:03