Ytube对象无get_video_url/get_audio_url属性报错求助
解决Ytube对象无get_audio_url/get_video_url属性的问题
问题根源
你调用的Ytube类实例并没有定义get_audio_url()和get_video_url()这两个方法,所以Python抛出了属性不存在的错误。
可行的解决方案
核对类的实际可用方法/属性
查看Ytube类的源码或者官方文档,确认它用来获取音频、视频链接的正确方法名或属性名。比如有些类似类会用audio_stream_url、get_audio_stream()这类命名,而非你写的方法名。若为自定义类,补充方法实现
如果Ytube是你自己写的类,直接在类里添加这两个方法的实现:class Ytube: # 其他已有的代码 def get_audio_url(self): # 在这里实现获取音频链接的逻辑 return "你的音频链接获取逻辑" def get_video_url(self): # 在这里实现获取视频链接的逻辑 return "你的视频链接获取逻辑"替换为成熟的第三方库
如果Ytube是某个小众库,建议换成维护更完善的库,比如yt-dlp,示例代码如下:import yt_dlp def get_download_url(video_url, format_type): ydl_opts = {} with yt_dlp.YoutubeDL(ydl_opts) as ydl: info = ydl.extract_info(video_url, download=False) if format_type == 'mp3': # 筛选仅音频的流 return next(stream['url'] for stream in info['formats'] if stream['acodec'] != 'none' and stream['vcodec'] == 'none') elif format_type == 'mp4': # 筛选音视频合一的流(可根据需求调整分辨率等参数) return next(stream['url'] for stream in info['formats'] if stream['vcodec'] != 'none' and stream['acodec'] != 'none')
内容的提问来源于stack exchange,提问作者rights4a
相关产品推荐
相关产品推荐

