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

如何用BeautifulSoup提取div中的minEnroll字段数据?

无需Selenium,用BS4提取data属性中的JSON数据

不用纠结Selenium,纯BS4就能搞定,步骤很直接:

  • 先定位到目标div,获取包含JSON的data属性值
  • 用Python的json模块把属性值字符串转成字典
  • 直接从字典里取出minEnroll字段

具体代码示例

假设你的HTML结构类似这样:

<div class="target-div" data-course-details='{"courseId": "CS101", "enrollRules": {"minEnroll": 0, "maxEnroll": 40}, "teacher": "John Doe"}'></div>

对应的Python代码:

from bs4 import BeautifulSoup
import json

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

# 定位目标div(根据你的实际class或其他属性调整)
target_div = soup.find('div', class_='target-div')

# 获取data属性的值(这里是data-course-details,根据实际属性名修改)
json_str = target_div.get('data-course-details')

# 把JSON字符串转成Python字典
course_data = json.loads(json_str)

# 提取minEnroll,如果是嵌套结构就按层级取
min_enroll = course_data['enrollRules']['minEnroll']
print(min_enroll)  # 输出:0

注意事项

  • 确保data属性的内容是合法的JSON格式(比如字符串用双引号,键名也是双引号),如果遇到单引号的情况,可以先把单引号替换成双引号再转JSON
  • 如果目标div有多个,用find_all遍历处理即可

内容的提问来源于stack exchange,提问作者Baran Üyükuş

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 02:45:34