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

如何用Python提取HTML文件中script标签内的hobbies列表

用Python提取HTML中script标签内的hobbies列表

所需依赖

先安装BeautifulSoup4库:

pip install beautifulsoup4

实现步骤与代码

  1. 获取HTML内容(示例用字符串演示,实际可从本地文件读取或网络请求获取)
  2. 解析HTML定位目标script标签(通过type="text/json"属性匹配)
  3. 提取标签内的JSON文本并解析
  4. 直接取出hobbies列表

完整代码示例:

from bs4 import BeautifulSoup
import json

# 示例HTML内容,实际场景可替换为文件读取或接口返回内容
html_content = '''
<script type="text/json" placeholder-data="1">{"name":"john","args":{"id":989,"hobbies":["gardening","boxing","guitar","hunting"],"is_rookie":false}}</script>
'''

# 解析HTML
soup = BeautifulSoup(html_content, 'html.parser')
# 定位目标script标签
script_tag = soup.find('script', {'type': 'text/json'})

if script_tag:
    # 提取标签内的JSON字符串
    json_data = script_tag.string
    # 解析JSON格式数据
    data = json.loads(json_data)
    # 取出hobbies列表
    hobbies = data['args']['hobbies']
    print(hobbies)
else:
    print("未找到目标script标签")

运行后输出:

['gardening', 'boxing', 'guitar', 'hunting']

补充说明

  • 若页面存在多个同类型script标签,可通过placeholder-data="1"属性进一步精准定位,把find()的参数改成{'type': 'text/json', 'placeholder-data': '1'}即可
  • 若从本地HTML文件读取内容,可替换为:
with open('your_html_file.html', 'r', encoding='utf-8') as f:
    html_content = f.read()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 11:12:07