你想整理自己发布过的一组操作演示,发现同一个视频可能包含多个分段。只把标题和一个链接放进表里,后续容易不知道取到的是哪一部分。先建立作品与分段的对应关系,再处理媒体信息。
从账号作品列表找准目标
按 uid 查询作品,保留分页条件,按实际用途选择相关视频。需要时用详情接口补充数据,并回到原页面核对标题和分段。不要把作品列表中的数字标识直接塞给要求 BV 号的参数;这组绑定里详情使用 aid,播放信息查询使用 bv_id 与 cid,应分别按契约准备。
cid 必须来自正确的视频分段
播放地址接口同时要求 bv_id 和 cid。先检查实际详情与原页面提供的信息,确认分段对应关系,再发起查询。无法取得或无法确认 cid 时,把该项留为待处理,不要根据其他作品猜一个值。一个多段视频查到一段的播放信息,不代表所有分段都已经处理。
记录媒体信息与处理结果的区别
自己的登记表可以列作者来源、作品链接、BV 号、分段标识、查询时间和后续处理状态。对实际返回的媒体信息按原样保留必要内容,不预设某种地址结构或永久有效性。拿到地址也不等于文件已保存、音画已合并或能够长期离线播放;这些都需要另行实现并验证。
用一条样本验证对应关系
先确认一条请求返回的内容与原作品分段相符,再考虑扩大处理范围。若后续地址不可用,记录查询时间和具体结果,重新核查来源及接口返回,不应把失败一概称为视频删除。AI 可以帮助整理目录说明,不能凭空补媒体地址。最终成果是一份准确的作品分段清单与已取得的信息;只有实际保存并检查文件后,才能把相应状态改成完成。
这篇用到的接口
- 获取用户主页作品数据V2:https://api.trmesh.com/openapi/api/v1/bilibili/web/fetch_user_post_videos_v2 · 参数说明
- 获取单个视频详情:https://api.trmesh.com/openapi/api/v1/bilibili/web/fetch_video_detail · 参数说明
- 获取视频流地址:https://api.trmesh.com/openapi/api/v1/bilibili/web/fetch_video_playurl · 参数说明
完整地址与参数
GET https://api.trmesh.com/openapi/api/v1/bilibili/web/fetch_user_post_videos_v2
| 参数 | 类型 | 必填 | 含义 |
|---|---|---|---|
uid |
string | 是 | 用户UID |
pn |
integer | 否 | 页码,无上限 |
ps |
integer | 否 | 每页数量,最大100 |
keyword |
string | 否 | 关键词,留空返回全部 |
可以复制的 Python 请求
安装 requests 并在环境变量中设置 TRMESH_API_TOKEN。把示例用户名或作品 ID 换成你要查询的对象。
import os
import requests
# 使用自己的 TRMesh 开发者密钥;不要将密钥写入网页。
url = "https://api.trmesh.com/openapi/api/v1/bilibili/web/fetch_user_post_videos_v2"
params = {
"uid": "178360345"
}
response = requests.get(
url, params=params, timeout=30,
headers={"Authorization": f"Bearer {os.environ['TRMESH_API_TOKEN']}"},
)
response.raise_for_status()
payload = response.json()
print(payload) # 先核对真实响应,再提取业务字段
调用接口会使用你的 TRMesh 账号额度,运行前请确认接口价格。