无法使用 pytube 库获取 Youtube 视频

can't get Youtube video with pytube library

我编写了一个 youtube 视频下载器 如果我使用 Youtube() 来获取视频,那是行不通的

我的代码:

from pytube import YouTube
import os
yt = YouTube("https://www.youtube.com/watch?v=-7F40MVG0Wc")
print(yt.title)
stream = yt.streams.first()
stream.download()

在第三行我得到了很多错误

我得到的错误:

Traceback (most recent call last):
  File "d:\Projects\Youtube Video Downloader\index5.py", line 3, in <module>
    yt = YouTube("https://www.youtube.com/watch?v=-7F40MVG0Wc")

我该如何解决这个问题?

请通过从源安装确认您使用的是最新版本的 pytube。

您可以通过 运行 python -m pip install git+https://github.com/pytube/pytube 有时,pypi 库存储库不是最新的,您的问题可能已经得到解决!

C:\Python38\lib\site-packages\pytube\cipher.py

更改此行:

293: name = re.escape(get_throttling_function_name(js))

对此:

293: name = "iha"

Github 个问题中提到了这个解决方案,它工作正常。

这是一个例子:

from pytube import YouTube
import os
from pathlib import Path


url = YouTube('https://www.youtube.com/watch?v=y-9MaAW_9dY')

print("downloading....")

video = url.streams.get_highest_resolution()

path_to_download_folder = str(os.path.join(Path.home(), "Downloads"))

video.download(path_to_download_folder)
print("Downloaded! :)")