Python 播放列表下载的 Pytube 进度
Python Pytube progress for playlist download
我正在 python 使用 pytube 编写程序,我想在下载播放列表时指示进度。下载单个视频时我可以这样做:
YouTube(url, on_progress_callback=progressFunction)
但下载播放列表时不起作用:
Playlist(url, on_progress_callback=progressFunction)
我收到以下错误:
TypeError: __init__() got an unexpected keyword argument 'on_progress_callback'
有什么方法可以知道下载播放列表的进度吗?
根据 source code,Playlist
class 不需要 on_progress_callback
关键字参数,而只需要 url
一个。
嘿,你可以从播放列表中获取所有的url,然后一个一个地调用下载。
这对我来说是最好的。
def getAllLinks(playList):
'''
: This function take a link of playlist and return the link of each videos
:param playList:
:return: A list of all Url links
'''
allLinks = []
youtubeLink = 'https://www.youtube.com'
pl = Playlist(playList)
for linkprefix in pl.parse_links():
allLinks.append(youtubeLink + linkprefix)
return allLinks
从这里您将获得所有网址,然后
def downloadPlaylist(playlistLink):
linkArray = getAllLinks(playlistLink)
for link in linkArray:
downloadVideo(link)
可以使用register_on_progress_callback函数注册一个下载进度回调函数post初始化
例如:
p = Playlist('https://www.youtube.com/playlist?list=PLetg744TF10BrdPjaEXf4EsJ1wz6fyf95')
for v in p.videos:
v.register_on_progress_callback(progressFunction)
# proceed to downloading...
我正在 python 使用 pytube 编写程序,我想在下载播放列表时指示进度。下载单个视频时我可以这样做:
YouTube(url, on_progress_callback=progressFunction)
但下载播放列表时不起作用:
Playlist(url, on_progress_callback=progressFunction)
我收到以下错误:
TypeError: __init__() got an unexpected keyword argument 'on_progress_callback'
有什么方法可以知道下载播放列表的进度吗?
根据 source code,Playlist
class 不需要 on_progress_callback
关键字参数,而只需要 url
一个。
嘿,你可以从播放列表中获取所有的url,然后一个一个地调用下载。 这对我来说是最好的。
def getAllLinks(playList):
'''
: This function take a link of playlist and return the link of each videos
:param playList:
:return: A list of all Url links
'''
allLinks = []
youtubeLink = 'https://www.youtube.com'
pl = Playlist(playList)
for linkprefix in pl.parse_links():
allLinks.append(youtubeLink + linkprefix)
return allLinks
从这里您将获得所有网址,然后
def downloadPlaylist(playlistLink):
linkArray = getAllLinks(playlistLink)
for link in linkArray:
downloadVideo(link)
可以使用register_on_progress_callback函数注册一个下载进度回调函数post初始化
例如:
p = Playlist('https://www.youtube.com/playlist?list=PLetg744TF10BrdPjaEXf4EsJ1wz6fyf95')
for v in p.videos:
v.register_on_progress_callback(progressFunction)
# proceed to downloading...