环境
nonebot-plugin-parser: 2.6.7
- Python: 3.11.9
- OS: Ubuntu(Docker 容器内运行)
- Adapter: OneBot V11
问题描述
当前任意抖音分享短链都会解析失败。插件在抖音分享页 HTML 中查找 videoInfoRes,但页面中该字段数量为 0,随后抛出 ParseException。
复现步骤
- 启动并加载
nonebot_plugin_parser。
- 在群聊发送任意
v.douyin.com 分享短链。
- 插件会重定向并分别尝试解析
m.douyin.com/share/video/<id> 和 www.iesdouyin.com/share/video/<id>。
实际结果
日志示例:
WARNING nonebot_plugin_parser | failed to parse https://m.douyin.com/share/video/<id>, error: can't find data in videoInfoRes
WARNING nonebot_plugin_parser | failed to parse https://www.iesdouyin.com/share/video/<id>, error: can't find data in videoInfoRes
...
nonebot_plugin_parser.exception.ParseException: 分享已删除或资源直链提取失败, 请稍后再试
由于 parser_handler 中的 ParseException 未被捕获,NoneBot 还会输出完整的 ERROR traceback。
排查结果
- 短链可正常 302 到对应的
iesdouyin.com/share/video/<id> 页面。
- 最终页面返回 HTTP 200,HTML 大小约 32 KB。
- 页面响应头包含
x-modernjs-render: server。
- 通过
grep -o 'videoInfoRes' page.html | wc -l 确认结果为 0。
- 页面会加载通用安全 SDK /
TTGCaptcha,但未发现“访问异常”或“请完成验证”等明确拦截文案。
- 不同视频均可复现,因此不像是单个作品删除或私密导致。
期望结果
- 适配抖音当前分享页或新的详情数据获取方式,不再依赖已缺失的
videoInfoRes。
- 即使抖音解析失败,也希望在 Matcher 层捕获
ParseException,避免对每条失败链接输出完整 ERROR traceback。
为避免泄露可追踪参数,未附上完整短链重定向 URL、Cookie 或 share_sign / did 等参数。
环境
nonebot-plugin-parser: 2.6.7问题描述
当前任意抖音分享短链都会解析失败。插件在抖音分享页 HTML 中查找
videoInfoRes,但页面中该字段数量为 0,随后抛出ParseException。复现步骤
nonebot_plugin_parser。v.douyin.com分享短链。m.douyin.com/share/video/<id>和www.iesdouyin.com/share/video/<id>。实际结果
日志示例:
由于
parser_handler中的ParseException未被捕获,NoneBot 还会输出完整的 ERROR traceback。排查结果
iesdouyin.com/share/video/<id>页面。x-modernjs-render: server。grep -o 'videoInfoRes' page.html | wc -l确认结果为0。TTGCaptcha,但未发现“访问异常”或“请完成验证”等明确拦截文案。期望结果
videoInfoRes。ParseException,避免对每条失败链接输出完整 ERROR traceback。