如何用Python从API返回的JSON数据中单独提取所需的视频链接
提取视频链接的实现方法
首先你返回的JSON结构里,视频链接全部存放在cdn字段对应的列表中,列表的每个元素对应一个CDN源,每个源下的links列表存储了对应配音版、字幕版的视频链接。
前置校验建议
先补充请求成功判断,避免接口异常时提取报错:
import requests # 你的原有请求逻辑 link = requests.get(f"https://sugoi-api.herokuapp.com/episode/{Episodio}/{AnimeN}") if link.status_code != 200: # 可自定义异常处理逻辑 print(f"接口请求失败,状态码:{link.status_code}") exit() resultado = link.json()
不同场景的提取代码
1. 提取所有CDN源的全部视频链接
all_video_links = [] for cdn_source in resultado["cdn"]: all_video_links.extend(cdn_source["links"]) # all_video_links 就是所有视频链接的汇总列表
2. 提取指定CDN源的链接
比如你要取Superanimes源的所有链接:
target_source = "Superanimes" source_links = [] for cdn_source in resultado["cdn"]: if cdn_source["name"] == target_source: source_links = cdn_source["links"] break # source_links 是指定源的链接列表,第0位为配音版,第1位为字幕版
3. 单独提取配音版/字幕版链接
每个CDN的links列表固定顺序为:第0位是配音版,第1位是字幕版,按需取对应下标即可,示例取Serverotaku源的字幕版链接:
sub_link = None for cdn_source in resultado["cdn"]: if cdn_source["name"] == "Serverotaku": sub_link = cdn_source["links"][1] break
简化写法(无需指定CDN,直接取第一个可用源)
如果不需要选CDN,直接取第一个源的对应链接即可:
# 取第一个源的配音版链接 first_dub_link = resultado["cdn"][0]["links"][0] # 取第一个源的字幕版链接 first_sub_link = resultado["cdn"][0]["links"][1]
内容的提问来源于stack exchange,提问作者Pedro Henrique
相关产品推荐
相关产品推荐

