Skip to content

[Bug] 抖音分享页不再包含 videoInfoRes,导致所有抖音链接解析失败 #581

Description

@1402056242

环境

  • nonebot-plugin-parser: 2.6.7
  • Python: 3.11.9
  • OS: Ubuntu(Docker 容器内运行)
  • Adapter: OneBot V11

问题描述

当前任意抖音分享短链都会解析失败。插件在抖音分享页 HTML 中查找 videoInfoRes,但页面中该字段数量为 0,随后抛出 ParseException

复现步骤

  1. 启动并加载 nonebot_plugin_parser
  2. 在群聊发送任意 v.douyin.com 分享短链。
  3. 插件会重定向并分别尝试解析 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,但未发现“访问异常”或“请完成验证”等明确拦截文案。
  • 不同视频均可复现,因此不像是单个作品删除或私密导致。

期望结果

  1. 适配抖音当前分享页或新的详情数据获取方式,不再依赖已缺失的 videoInfoRes
  2. 即使抖音解析失败,也希望在 Matcher 层捕获 ParseException,避免对每条失败链接输出完整 ERROR traceback。

为避免泄露可追踪参数,未附上完整短链重定向 URL、Cookie 或 share_sign / did 等参数。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions