你想整理自己发布过的一组操作演示,发现同一个视频可能包含多个分段。只把标题和一个链接放进表里,后续容易不知道取到的是哪一部分。先建立作品与分段的对应关系,再处理媒体信息。

从账号作品列表找准目标

按 uid 查询作品,保留分页条件,按实际用途选择相关视频。需要时用详情接口补充数据,并回到原页面核对标题和分段。不要把作品列表中的数字标识直接塞给要求 BV 号的参数;这组绑定里详情使用 aid,播放信息查询使用 bv_id 与 cid,应分别按契约准备。

cid 必须来自正确的视频分段

播放地址接口同时要求 bv_id 和 cid。先检查实际详情与原页面提供的信息,确认分段对应关系,再发起查询。无法取得或无法确认 cid 时,把该项留为待处理,不要根据其他作品猜一个值。一个多段视频查到一段的播放信息,不代表所有分段都已经处理。

记录媒体信息与处理结果的区别

自己的登记表可以列作者来源、作品链接、BV 号、分段标识、查询时间和后续处理状态。对实际返回的媒体信息按原样保留必要内容,不预设某种地址结构或永久有效性。拿到地址也不等于文件已保存、音画已合并或能够长期离线播放;这些都需要另行实现并验证。

用一条样本验证对应关系

先确认一条请求返回的内容与原作品分段相符,再考虑扩大处理范围。若后续地址不可用,记录查询时间和具体结果,重新核查来源及接口返回,不应把失败一概称为视频删除。AI 可以帮助整理目录说明,不能凭空补媒体地址。最终成果是一份准确的作品分段清单与已取得的信息;只有实际保存并检查文件后,才能把相应状态改成完成。

这篇用到的接口

完整地址与参数

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 账号额度,运行前请确认接口价格。