yutto
yutto copied to clipboard
🐛 付费电影下载失败
问题简述
配置大会员后下载指定剧集报错,log如下
INFO 发现配置文件 C:\Users\captu\AppData\Roaming\yutto\yutto.toml,加载中……
大会员 成功以大会员身份登录~
番剧 心灵奇旅
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\Program Files\Python311\Scripts\yutto.exe\__main__.py", line 6, in <module>
File "C:\Program Files\Python311\Lib\site-packages\yutto\__main__.py", line 36, in main
run_download(ctx, args_list)
File "C:\Program Files\Python311\Lib\site-packages\yutto\utils\functional\async_to_sync.py", line 40, in sync_func
return asyncio.run(async_func(*args, **kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\runners.py", line 190, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\base_events.py", line 654, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\yutto\__main__.py", line 61, in run_download
await manager.wait_for_completion()
File "C:\Program Files\Python311\Lib\site-packages\yutto\download_manager.py", line 75, in wait_for_completion
await loop_task
File "C:\Program Files\Python311\Lib\site-packages\yutto\download_manager.py", line 113, in loop
await self.process_task(
File "C:\Program Files\Python311\Lib\site-packages\yutto\download_manager.py", line 220, in process_task
episode_data = await episode_data_coro
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\yutto\utils\asynclib.py", line 34, in __await__
return (yield from self.coro.__await__())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\yutto\extractor\common.py", line 66, in extract_bangumi_data
await get_bangumi_playurl(ctx, client, avid, cid)
File "C:\Program Files\Python311\Lib\site-packages\yutto\api\bangumi.py", line 109, in get_bangumi_playurl
if video_info["is_preview"] == 1:
~~~~~~~~~~^^^^^^^^^^^^^^
KeyError: 'is_preview'
复现方式
使用toml文件配置大会员SESSDATA,在终端输入yutto+ep开头链接开始下载,报错
环境信息
- OS: Windows11 insider preview build 27971
- Python: 3.11.9
- yutto: 2.1.0
- FFmpeg: ffmpeg version N-118706-gf641c6846a-20250308
额外信息
No response
一点点的自我检查
- [x] 充分阅读 README.md,特别是与本 issue 相关的部分
- [x] 如果是网络问题,已经检查网络连接、设置是否正常,并经过充分测试认为这是 yutto 本身的问题
- [x] 本 issue 在 issues 和 discussion 中并没有重复问题
- [x] 确认所希望下载的资源是本人有权限获取的,yutto 不提供任何超出本人权限的资源下载方式
给出具体报错的全部 ep id,又不是所有的都报错
ep777110,ep809027,ep788507等均会复现此错误,BV开头常规视频正常下载,使用-b参数+ss开头全部下载也会出现报错
开启DEBUG参数后日志输出如下:
captu@LegionBI3TKL E:\....\videos yutto ep777110 --debug
INFO 发现配置文件 C:\Users\captu\AppData\Roaming\yutto\yutto.toml,加载中……
DEBUG Windows 平台,单独设置 EventLoopPolicy
DEBUG get_user_info cache miss: user_info, all cache keys: []
DEBUG Fetch json: https://api.bilibili.com/x/web-interface/nav
大会员 成功以大会员身份登录~
DEBUG ffmpeg -codecs
DEBUG ffmpeg -encoders
DEBUG ffmpeg -codecs
DEBUG ffmpeg -encoders
DEBUG get_user_info cache hit: user_info
DEBUG Get redircted url: https://www.bilibili.com/bangumi/play/ep777110
DEBUG Fetch json: https://api.bilibili.com/pgc/view/web/season?ep_id=777110
DEBUG Fetch json: http://api.bilibili.com/pgc/view/web/season?season_id=46063
番剧 寻梦环游记
DEBUG get_user_info cache hit: user_info
DEBUG Fetch json: https://api.bilibili.com/pgc/player/web/v2/playurl?avid=&bvid=BV1u94y1Y7MS&cid=30088891420&qn=127&fnver=0&fnval=4048&fourk=1&support_multi_audio=true&from_client=BROWSER
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\Python\Scripts\yutto.exe\__main__.py", line 6, in <module>
sys.exit(main())
~~~~^^
File "C:\Python\Lib\site-packages\yutto\__main__.py", line 36, in main
run_download(ctx, args_list)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "C:\Python\Lib\site-packages\yutto\utils\functional\async_to_sync.py", line 40, in sync_func
return asyncio.run(async_func(*args, **kwargs))
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python\Lib\asyncio\runners.py", line 204, in run
return runner.run(main)
~~~~~~~~~~^^^^^^
File "C:\Python\Lib\asyncio\runners.py", line 127, in run
return self._loop.run_until_complete(task)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "C:\Python\Lib\asyncio\base_events.py", line 719, in run_until_complete
return future.result()
~~~~~~~~~~~~~^^
File "C:\Python\Lib\site-packages\yutto\__main__.py", line 61, in run_download
await manager.wait_for_completion()
File "C:\Python\Lib\site-packages\yutto\download_manager.py", line 75, in wait_for_completion
await loop_task
File "C:\Python\Lib\site-packages\yutto\download_manager.py", line 113, in loop
await self.process_task(
...<3 lines>...
)
File "C:\Python\Lib\site-packages\yutto\download_manager.py", line 220, in process_task
episode_data = await episode_data_coro
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python\Lib\site-packages\yutto\utils\asynclib.py", line 34, in __await__
return (yield from self.coro.__await__())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python\Lib\site-packages\yutto\extractor\common.py", line 66, in extract_bangumi_data
await get_bangumi_playurl(ctx, client, avid, cid)
File "C:\Python\Lib\site-packages\yutto\api\bangumi.py", line 109, in get_bangumi_playurl
if video_info["is_preview"] == 1:
~~~~~~~~~~^^^^^^^^^^^^^^
KeyError: 'is_preview'
-b参数+ss链接:
captu@LegionBI3TKL E:\....\videos yutto -b ss46063 --debug
INFO 发现配置文件 C:\Users\captu\AppData\Roaming\yutto\yutto.toml,加载中……
DEBUG Windows 平台,单独设置 EventLoopPolicy
DEBUG get_user_info cache miss: user_info, all cache keys: []
DEBUG Fetch json: https://api.bilibili.com/x/web-interface/nav
大会员 成功以大会员身份登录~
DEBUG ffmpeg -codecs
DEBUG ffmpeg -encoders
DEBUG ffmpeg -codecs
DEBUG ffmpeg -encoders
DEBUG get_user_info cache hit: user_info
DEBUG Get redircted url: https://www.bilibili.com/bangumi/play/ss46063
DEBUG Fetch json: http://api.bilibili.com/pgc/view/web/season?season_id=46063
番剧 寻梦环游记
INFO 全 2 话
INFO 已选择第 1,2 话
DEBUG get_user_info cache hit: user_info
DEBUG Fetch json: https://api.bilibili.com/pgc/player/web/v2/playurl?avid=&bvid=BV1u94y1Y7MS&cid=30088891420&qn=127&fnver=0&fnval=4048&fourk=1&support_multi_audio=true&from_client=BROWSER
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\Python\Scripts\yutto.exe\__main__.py", line 6, in <module>
sys.exit(main())
~~~~^^
File "C:\Python\Lib\site-packages\yutto\__main__.py", line 36, in main
run_download(ctx, args_list)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "C:\Python\Lib\site-packages\yutto\utils\functional\async_to_sync.py", line 40, in sync_func
return asyncio.run(async_func(*args, **kwargs))
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python\Lib\asyncio\runners.py", line 204, in run
return runner.run(main)
~~~~~~~~~~^^^^^^
File "C:\Python\Lib\asyncio\runners.py", line 127, in run
return self._loop.run_until_complete(task)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "C:\Python\Lib\asyncio\base_events.py", line 719, in run_until_complete
return future.result()
~~~~~~~~~~~~~^^
File "C:\Python\Lib\site-packages\yutto\__main__.py", line 61, in run_download
await manager.wait_for_completion()
File "C:\Python\Lib\site-packages\yutto\download_manager.py", line 75, in wait_for_completion
await loop_task
File "C:\Python\Lib\site-packages\yutto\download_manager.py", line 113, in loop
await self.process_task(
...<3 lines>...
)
File "C:\Python\Lib\site-packages\yutto\download_manager.py", line 220, in process_task
episode_data = await episode_data_coro
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python\Lib\site-packages\yutto\utils\asynclib.py", line 34, in __await__
return (yield from self.coro.__await__())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python\Lib\site-packages\yutto\extractor\common.py", line 66, in extract_bangumi_data
await get_bangumi_playurl(ctx, client, avid, cid)
File "C:\Python\Lib\site-packages\yutto\api\bangumi.py", line 109, in get_bangumi_playurl
if video_info["is_preview"] == 1:
~~~~~~~~~~^^^^^^^^^^^^^^
KeyError: 'is_preview'
保证有播放权限(哔站设置了防截图所以是黑屏)
经测试,番剧下载正常(如ss24053非自然死亡),电影下载报错