HFrost0 / bilix

⚡️Lightning-fast async download tool for bilibili and more
Apache License 2.0
1.61k stars 169 forks source link

音频下载错误 #83

Closed ZHGZYANG closed 1 year ago

ZHGZYANG commented 1 year ago

用bilix 0.11.4 + Python 3.11时会遇到音频下载报错的情况。

bilix get_video 'https://www.bilibili.com/video/BV1QA411D7dn'

Traceback (most recent call last):
  File "C:\Program Files\Python311\Scripts\bilix-script.py", line 33, in <module>
    sys.exit(load_entry_point('bilix==0.11.4', 'console_scripts', 'bilix')())
  File "C:\Users\user\AppData\Roaming\Python\Python311\site-packages\click\core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python311\site-packages\click\core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "C:\Users\user\AppData\Roaming\Python\Python311\site-packages\click\core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\user\AppData\Roaming\Python\Python311\site-packages\click\core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "C:\Program Files\Python311\Lib\site-packages\bilix-0.11.4-py3.11.egg\bilix\__main__.py", line 321, in main
    loop.run_until_complete(cor)
  File "C:\Program Files\Python311\Lib\asyncio\base_events.py", line 650, in run_until_complete
    return future.result()
  File "C:\Program Files\Python311\Lib\site-packages\bilix-0.11.4-py3.11.egg\bilix\download\downloader_bilibili.py", line 354, in get_video
    video, audio = choose_quality(video_info, quality, codec)
  File "C:\Program Files\Python311\Lib\site-packages\bilix-0.11.4-py3.11.egg\bilix\download\downloader_bilibili.py", line 43, in choose_quality
    audio['urls'] = (audio['base_url'], *audio.get('backup_url', ()))
TypeError: Value after * must be an iterable, not NoneType
HFrost0 commented 1 year ago

在我这里没能复现,在你的网络环境下是所有视频都有这个问题还是只有这一个?

bug看着像是因为*audio.get('backup_url', ())中audio['backup_url']本身就是None,这个在之前没有考虑到处理

ZHGZYANG commented 1 year ago

所有的都有这个问题

HFrost0 commented 1 year ago

最近会对api模块相关部分做较大改动,以尽量避免这种问题

saveunhappy commented 1 year ago

@ZHGZYANG 我也碰到这个问题了,是python3.11出现的,然后把python的版本降为3.8.6就可以下载成功了

HFrost0 commented 1 year ago

@ZHGZYANG @saveunhappy

各位能否帮忙测试下master分支上的版本现在的效果

pip install git+https://github.com/HFrost0/bilix.git
ZHGZYANG commented 1 year ago

我这边用python3.11没有问题了,感谢感谢