我使用youtube-dl下载YouTube频道。
每个视频下载后,我需要执行getVideoInfo()方法,并将其发送给方法params视频ID和下载路径。
例如: 下载频道:https://www.youtube.com/channel/channelId 频道上的影片总数:10 视频下载后需要执行方法并发送:视频ID 方法的下载路径和目录。
在此示例中,该方法将执行10次。
您能给我一些解决建议吗?
import youtube_dl
import os
def download(url):
dir="/home/youtube/Downloads/"
ydl_options = {
'outtmpl': dir+'%(playlist)s'+os.sep+'%(title)s-%(id)s.%(ext)s',
'format': 'bestaudio',
'continuedl': True,
'quiet' : True,
'restrictfilenames':True,
}
with youtube_dl.YoutubeDL(ydl_options) as ydl:
try:
ydl.add_default_info_extractors()
ydl.add_progress_hook(hook)
info = ydl.extract_info(url, download=True )
#print(info)
except (youtube_dl.utils.DownloadError,youtube_dl.utils.ContentTooShortError,youtube_dl.utils.ExtractorError) as e:
print(e)
def hook(value):
print(value)# recived filename
def getVideo(videoId, downloadFolder)
print(videoId)
print(downloadFolder)