无法使用 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! :)")
我编写了一个 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! :)")