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

如何从JSON对象属性提取URL?Frontendmasters API视频URL导出至TXT

刚好处理过类似的需求,我来分两部分给你讲清楚:

1. 通用场景:从JSON对象属性中提取URL

核心逻辑其实很简单,不管你用什么编程语言,都绕不开这几步:

  • 把JSON字符串解析成程序能操作的对象(如果还没解析的话)
  • 定位到存储URL的目标属性路径
  • 提取对应的值,如果是多个URL的话就遍历处理

给你两个常用语言的示例:

JavaScript 示例

假设你已经拿到了JSON字符串,解析后提取:

// 假设jsonString是你获取到的JSON格式字符串
const jsonObj = JSON.parse(jsonString);
// 直接通过属性链提取URL
const videoUrl = jsonObj.lessondata.sourcebase;
console.log(videoUrl); // 输出目标URL

// 如果sourcebase是数组(比如多段视频)
const videoUrls = jsonObj.lessondata.sourcebase;
videoUrls.forEach(url => {
  console.log('视频URL:', url);
});

Python 示例

用Python的标准json库处理:

import json

# 模拟获取到的JSON字符串
json_content = '''
{
  "lessondata": {
    "sourcebase": "https://example.com/lesson-video.mp4"
  }
}
'''
# 解析JSON为字典
json_obj = json.loads(json_content)
# 提取URL
video_url = json_obj['lessondata']['sourcebase']
print(video_url)
2. Frontendmasters 课程API的具体提取方案

这个场景特殊在需要登录认证才能访问API,我给你一套可落地的Python脚本方案:

步骤1:获取登录凭证

先打开Frontendmasters官网登录你的账号,然后按F12打开浏览器开发者工具:

  • 切换到「Network」标签页
  • 找到返回课程JSON的API请求(一般是XHR/fetch类型)
  • 查看请求头里的Cookie字段,把整个Cookie内容复制下来(这是你的登录凭证)
  • 同时记下这个API的完整URL

步骤2:编写脚本提取并保存URL

先安装requests库(处理HTTP请求很方便):

pip install requests

然后用下面的脚本(记得替换成你的实际信息):

import json
import requests

# 替换成你找到的课程API地址
API_URL = "https://frontendmasters.com/api/course/your-course-id/lessons"
# 替换成你从浏览器复制的Cookie
HEADERS = {
    "Cookie": "your-login-cookie-content-here",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
}

# 发送请求获取JSON数据
try:
    response = requests.get(API_URL, headers=HEADERS)
    response.raise_for_status()  # 请求失败直接抛出错误
    course_data = response.json()
except Exception as e:
    print(f"请求API失败:{str(e)}")
    exit()

# 提取所有sourcebase中的URL
video_urls = []
# 注意:实际API返回的lessondata可能是数组(每个元素是单个课时)
if isinstance(course_data.get("lessondata"), list):
    for lesson in course_data["lessondata"]:
        if "sourcebase" in lesson:
            video_urls.append(lesson["sourcebase"])
else:
    # 少数情况lessondata是单个对象
    video_urls.append(course_data["lessondata"]["sourcebase"])

# 保存到TXT文件
with open("frontendmasters_video_urls.txt", "w", encoding="utf-8") as f:
    for url in video_urls:
        f.write(f"{url}\n")

print(f"搞定!一共提取了{len(video_urls)}个视频URL,已经保存到frontendmasters_video_urls.txt里了")

注意事项

  • 千万不要把你的Cookie分享给别人,这相当于你的登录凭证
  • Frontendmasters的API结构可能会更新,如果脚本失效,记得重新去开发者工具看最新的JSON结构
  • 不要频繁发送请求,避免触发网站的反爬限制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:33:43