HFrost0 / bilix

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

报错 #208

Closed sniperrich closed 5 months ago

sniperrich commented 5 months ago

运行 import asyncio

导入下载器,里面有很多方法,例如get_series, get_video, get_favour,get_dm等等

from bilix.sites.bilibili import DownloaderBilibili

async def main():

你可以使用async with上下文管理器来开启和关闭一个下载器

async with DownloaderBilibili() as d:
    # 然后用await异步等待下载完成
    await d.get_video("https://www.bilibili.com/video/BV1jK4y1N7ST")

if name == 'main': asyncio.run(main())

显示 C:\Users\rich\AppData\Local\Programs\Python\Python39\python.exe C:\Users\rich\Downloads\qttt\test.py Traceback (most recent call last): File "C:\Users\rich\AppData\Local\Programs\Python\Python39\lib\site-packages\bilix\download\utils.py", line 90, in wrapped return await func(client, *args, kwargs) File "C:\Users\rich\AppData\Local\Programs\Python\Python39\lib\site-packages\bilix\sites\bilibili\api.py", line 400, in get_video_info return await _get_video_info_from_html(client, url) File "C:\Users\rich\AppData\Local\Programs\Python\Python39\lib\site-packages\bilix\sites\bilibili\api.py", line 410, in _get_video_info_from_html video_info = VideoInfo.parse_html(url, res.text) File "C:\Users\rich\AppData\Local\Programs\Python\Python39\lib\site-packages\bilix\sites\bilibili\api.py", line 377, in parse_html dash = Dash.from_dict(play_info) File "C:\Users\rich\AppData\Local\Programs\Python\Python39\lib\site-packages\bilix\sites\bilibili\api.py", line 233, in from_dict m = Media(quality=quality, codec=d['codecs'], d) File "C:\Users\rich\AppData\Local\Programs\Python\Python39\lib\site-packages\pydantic\main.py", line 164, in init pydantic_self.pydantic_validator.validate_python(data, self_instance=__pydantic_self__) pydantic_core._pydantic_core.ValidationError: 1 validation error for Media backup_url Input should be a valid list [type=list_type, input_value=None, input_type=NoneType] For further information visit https://errors.pydantic.dev/2.5/v/list_type

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "C:\Users\rich\Downloads\qttt\test.py", line 14, in asyncio.run(main()) File "C:\Users\rich\AppData\Local\Programs\Python\Python39\lib\asyncio\runners.py", line 44, in run return loop.run_until_complete(main) File "C:\Users\rich\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py", line 647, in run_until_complete return future.result() File "C:\Users\rich\Downloads\qttt\test.py", line 10, in main await d.get_series("https://www.bilibili.com/video/BV1jK4y1N7ST") File "C:\Users\rich\AppData\Local\Programs\Python\Python39\lib\site-packages\bilix\download\base_downloader.py", line 75, in wrapper return await func(*new_args, **kwargs) File "C:\Users\rich\AppData\Local\Programs\Python\Python39\lib\site-packages\bilix\sites\bilibili\downloader.py", line 299, in get_series video_info = await api.get_video_info(self.client, url) File "C:\Users\rich\AppData\Local\Programs\Python\Python39\lib\site-packages\bilix\download\utils.py", line 94, in wrapped raise APIParseError(e, func) from e bilix.exception.APIParseError: APIParseError Caused by ValidationError in

Process finished with exit code 1

HFrost0 commented 5 months ago

与 #205 相同原因

HFrost0 commented 5 months ago

fixed in 0.18.7