无法在 Python 中使用 pytube 打印视频标题

cant print the video title using pytube in python

提问人:Faust 提问时间:9/6/2023 更新时间:9/6/2023 访问量:58

问:

我在使用从 pytube 获取视频标题时遇到了问题。似乎 pytube 在获取视频标题时遇到问题,或者 pytube 似乎无法获取它。我在使用补丁时已将 pytube 更新到 15.0.0 版。

因此,我在使用 PyTube 使用 URL 链接获取视频的视频标题时遇到了问题,任何解决此问题的线索。

from pytube import YouTube

print("input url below:")
input_url = input()
my_video = YouTube(input_url)
if input_url == "": 
    pass
else: 
    print(my_video.title)
    print(my_video.thumbnail_url)

my_video = my_video.streams.get_lowest_resolution
print(my_video)

这是错误

Traceback (most recent call last):
  File "C:\Users\(censored)\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pytube\__main__.py", line 330, in title
    self._title = self.vid_info['videoDetails']['title']
                  ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: 'videoDetails'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\Users\(censored)\Desktop\youtube video downloader\main.py", line 9, in <module>
    print(my_video.title)
          ^^^^^^^^^^^^^^
  File "C:\Users\(censored)\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pytube\__main__.py", line 335, in title
    raise exceptions.PytubeError(
pytube.exceptions.PytubeError: Exception while accessing title of https://youtube.com/watch?v=vEQ8CXFWLZU. Please file a bug report at https://github.com/pytube/pytube
python pytube

评论

0赞 nigh_anxiety 9/6/2023
您是否检查了 github 以查看是否已经报告了此问题?如果没有,请提交报告。YouTube 很可能更改了 Pytube 正在提取的数据结构中的某些内容,当您要求标题不再有效时,这导致了 KeyError。my_video.titleself.vid_info['videoDetails']

答:

1赞 M B 9/6/2023 #1

这似乎是pytube反复出现的问题。由于您已经在使用应该已修复该问题的版本 15.0.0,因此您可以尝试解决方案,该解决方案也是针对同一错误的不同解决方案推荐的。您也可以考虑使用其他库来帮助您获取此信息,或者直接调用 YouTube API 本身。这是获取视频相关信息的 API 的文档