Skip to content

feat(douyin): 重构抖音解析器使用API接口 - #584

Merged
fllesser merged 4 commits into
fllesser:masterfrom
molanp:fix/douyin
Aug 23, 2026
Merged

feat(douyin): 重构抖音解析器使用API接口#584
fllesser merged 4 commits into
fllesser:masterfrom
molanp:fix/douyin

Conversation

@molanp

@molanp molanp commented Aug 21, 2026

Copy link
Copy Markdown
Contributor
  • 移除原有的HTML解析方式,改用抖音Web API进行数据获取
  • 新增aweme.py文件定义API响应的数据结构模型
  • 移除不再使用的video.py和slides.py文件
  • 更新正则表达式匹配规则,统一处理不同类型的抖音链接
  • 添加请求头配置支持OpenAPI访问
  • 改进媒体内容处理逻辑,支持图片、视频和音频的正确提取
  • 优化错误处理机制和异常情况的反馈信息
  • resolve [Bug] 抖音分享页不再包含 videoInfoRes,导致所有抖音链接解析失败 #581

- 移除原有的HTML解析方式,改用抖音Web API进行数据获取
- 新增aweme.py文件定义API响应的数据结构模型
- 移除不再使用的video.py和slides.py文件
- 更新正则表达式匹配规则,统一处理不同类型的抖音链接
- 添加请求头配置支持OpenAPI访问
- 改进媒体内容处理逻辑,支持图片、视频和音频的正确提取
- 优化错误处理机制和异常情况的反馈信息
@codecov

codecov Bot commented Aug 21, 2026

Copy link
Copy Markdown

❌ 2 Tests Failed:

Tests completed Failed Passed Skipped
46 2 44 3
View the top 2 failed test(s) by shortest run time
tests.parsers.test_weibo::test_repost
Stack Traces | 0.728s run time
tests/parsers/test_weibo.py:60: in test_repost
    await asyncio.gather(*[parse_repost(url) for url in urls])
tests/parsers/test_weibo.py:46: in parse_repost
    parse_result = await parser.parse(keyword, searched)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../nonebot_plugin_parser/parsers/base.py:89: in parse
    return await self._handlers[keyword](self, searched)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../parsers/weibo/__init__.py:50: in _parse_m_weibo_cn
    return await self.parse_weibo_id(wid)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../parsers/weibo/__init__.py:193: in parse_weibo_id
    weibo_data = common.decoder.decode(response.content).data
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E   msgspec.ValidationError: Object missing required field `data`
tests.parsers.test_nga::test_nga_parse
Stack Traces | 2.23s run time
tests/parsers/test_nga.py:21: in test_nga_parse
    result = await parser.parse(keyword, searched)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../nonebot_plugin_parser/parsers/base.py:89: in parse
    return await self._handlers[keyword](self, searched)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../nonebot_plugin_parser/parsers/nga.py:73: in _parse
    raise ParseException(f"无法获取页面, HTTP {resp.status_code}")
E   nonebot_plugin_parser.exception.ParseException: 无法获取页面, HTTP 403

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@molanp

molanp commented Aug 21, 2026

Copy link
Copy Markdown
Contributor Author

本pr中,未设置抖音标题,因为部分抖音作品的desc可能会非常非常长,不适合设置为标题
例如 https://www.douyin.com/note/7664629867472026363

@fllesser
fllesser merged commit 679448c into fllesser:master Aug 23, 2026
15 of 16 checks passed
@fllesser fllesser added the enhancement New feature or request label Aug 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

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

2 participants