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

如何使用Python调用trailsinthedatabase REST API获取空之轨迹3rd游戏脚本

问题原因

你当前代码的核心错误是误用了API文档页面的地址作为实际接口请求地址,你传入的地址返回的是文档的HTML页面内容,自然无法得到结构化的脚本数据。

修正方案

单脚本请求(以fname=c0301为例)

根据API文档说明,getDetail接口的实际请求路径为对应站点的api/detail路径,修正后的代码如下:

import requests

# 替换为实际API接口地址,而非文档页面地址
api_url = "https://trailsinthedatabase.com/api/detail"
parameter = {'gameId': 3, "fname": "c0301"}

response = requests.get(api_url, params=parameter)
# 接口返回JSON格式数据,直接解析为字典
script_data = response.json()

# 输出脚本内容,可根据需要自行保存到本地文件
print(script_data)

批量获取全游戏脚本

如果需要下载《Trails in the sky the 3rd》的全部脚本,需要先调用脚本列表接口获取该游戏下所有的fname参数值,再循环请求每个脚本的详情:

import requests
import time

base_detail_url = "https://trailsinthedatabase.com/api/detail"
list_url = "https://trailsinthedatabase.com/api/script-list"
game_id = 3

# 第一步:获取该游戏所有脚本的fname列表
list_resp = requests.get(list_url, params={"gameId": game_id})
fname_list = [item["fname"] for item in list_resp.json()]

# 第二步:循环下载每个脚本
all_scripts = []
for fname in fname_list:
    detail_resp = requests.get(base_detail_url, params={"gameId": game_id, "fname": fname})
    all_scripts.append(detail_resp.json())
    # 增加请求间隔,避免请求频率过高被站点限制
    time.sleep(0.5)

# 可自行将all_scripts保存为JSON或TXT文件用于后续学习

注意事项

  • 站点有反爬机制,不要短时间发起大量高频请求,建议在两次请求之间增加至少0.5秒的等待间隔
  • 接口返回的JSON数据包含多语言字段,你可以按需提取英文对应的字段内容整理为学习材料

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 14:51:02