使用youtubesearchpython库的Video.get时出现无效状态码错误求助
问题原因及解决方案
核心原因
- 库版本兼容性问题:youtubesearchpython的新版本已移除了
Video.get()这个静态方法;若使用旧版本,会因YouTube页面结构更新导致爬虫逻辑失效,无法正常获取数据。 - 参数配置过时:代码里的
get_upload_date=True参数在新版本中不再支持,需通过其他方式提取上传日期信息。
修复步骤及代码示例
首先更新到最新版本的库:
pip install --upgrade youtubesearchpython
替换为以下可用代码:
from youtubesearchpython import Video, ResultMode # 实例化Video对象并指定JSON模式 video = Video('https://www.youtube.com/watch?v=z0GKGpObgPY', mode=ResultMode.json) # 获取完整视频信息 video_info = video.info # 从返回的信息中提取上传日期 upload_date = video_info.get('uploadDate', '无法获取上传日期') print(f"视频完整信息:{video_info}") print(f"上传日期:{upload_date}")
额外说明
- 新版本库将视频信息封装在
Video实例的info属性中,无需再调用get()方法。 - 若仍报错,需检查是否存在网络访问限制(如YouTube地区限制),或查看库的更新日志确认是否因YouTube页面结构变更导致爬虫逻辑失效。
内容的提问来源于stack exchange,提问作者Teriri
相关产品推荐
相关产品推荐

