yutto-dev/yutto

🐛 响应数据无 data 域

Closed this issue · 1 comments

问题简述

DEBUG  Fetch json: https://api.bilibili.com/x/web-interface/nav
 大会员  成功以大会员身份登录~
 DEBUG  ffmpeg -codecs
 DEBUG  ffmpeg -encoders
 DEBUG  ffmpeg -codecs
 DEBUG  ffmpeg -encoders
 DEBUG  Fetch json: https://api.bilibili.com/x/web-interface/nav
 DEBUG  Get redircted url: https://space.bilibili.com/107256/favlist?fid=2788160456&ftype=create
 DEBUG  Fetch json: https://api.bilibili.com/x/web-interface/nav
 DEBUG  Fetch json: https://api.bilibili.com/x/v3/fav/folder/info?media_id=2788160456
 DEBUG  Touch url: https://www.bilibili.com
 DEBUG  Fetch json: https://api.bilibili.com/x/space/wbi/acc/info
 收藏夹  临时下载
 DEBUG  Fetch json: https://api.bilibili.com/x/v3/fav/resource/ids?media_id=2788160456
 DEBUG  Fetch json: http://api.bilibili.com/x/web-interface/view?aid=&bvid=BV1NytGezEgV
Traceback (most recent call last):
  File "/opt/homebrew/bin/yutto", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/opt/homebrew/Cellar/yutto/2.0.0b42/libexec/lib/python3.12/site-packages/yutto/__main__.py", line 72, in main
    run(args_list)
  File "/opt/homebrew/Cellar/yutto/2.0.0b42/libexec/lib/python3.12/site-packages/yutto/utils/funcutils/as_sync.py", line 39, in sync_func
    return asyncio.run(async_func(*args, **kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.12/3.12.6/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/runners.py", line 194, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.12/3.12.6/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.12/3.12.6/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/base_events.py", line 687, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yutto/2.0.0b42/libexec/lib/python3.12/site-packages/yutto/__main__.py", line 314, in run
    download_list = await extractor(client, args)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yutto/2.0.0b42/libexec/lib/python3.12/site-packages/yutto/extractor/_abc.py", line 51, in __call__
    return await self.extract(client, args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yutto/2.0.0b42/libexec/lib/python3.12/site-packages/yutto/extractor/favourites.py", line 53, in extract
    ugc_video_list = await get_ugc_video_list(client, avid)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yutto/2.0.0b42/libexec/lib/python3.12/site-packages/yutto/api/ugc_video.py", line 130, in get_ugc_video_list
    video_info = await get_ugc_video_info(client, avid)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yutto/2.0.0b42/libexec/lib/python3.12/site-packages/yutto/api/ugc_video.py", line 93, in get_ugc_video_info
    assert res_json_data is not None, "响应数据无 data 域"
           ^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: 响应数据无 data 域

复现方式

yutto --vip-strict -b -n 1 --debug "https://space.bilibili.com/107256/favlist?fid=2788160456&ftype=create" -c "123"

值得注意的是,视频直接单独下载是可以的,但是放到收藏夹,然后从收藏夹批量下载时就会报错。上面时我私人收藏夹,里面就放了以下这一个视频。
https://www.bilibili.com/video/BV1GZ421L7Le/

另外,收藏夹里放其他视频是可以正常批量下载。但只要包含了上面这个视频,就解析失败

环境信息

  • OS: 操作系统类型及其版本号 Mac
  • Python: Python 版本号 (python --version) 3.12
  • yutto: yutto 版本号 (yutto -v) 2.0.0-beta.42
  • FFmpeg: FFmpeg 版本号 (ffmpeg -version) 7.0.2
  • 如果是显示相关问题
    • Shell: Shell 类型 (echo $SHELL)
    • Terminal: 终端类型
  • Others: 其它信息

额外信息

No response

一点点的自我检查

  • 充分阅读 README.md,特别是与本 issue 相关的部分
  • 如果是网络问题,已经检查网络连接、设置是否正常,并经过充分测试认为这是 yutto 本身的问题
  • 本 issue 在 issuesdiscussion 中并没有重复问题
  • 确认所希望下载的资源是本人有权限获取的,yutto 不提供任何超出本人权限的资源下载方式

忽略,不是这个视频的问题。是在我的收藏夹里有了一个隐藏的视频。是 b 站自己的 bug(收藏夹数量显示 1,但是实际列表拉出来是空的,永远删不掉)