youtube-dl仅提取播放列表信息

时间:2016-08-01 21:20:02

标签: python youtube-dl python-embedding

ydl = youtube_dl.YoutubeDL()
with ydl:
    r = ydl.extract_info("myplaylist", download=False)  # don't download, much faster

print(r['uploader'],r['title'],r['thumbnail'])
像这样的

代码输出

[youtube:playlist] Downloading playlist playlistidhere - add --no-playlist to just download video videoid
[youtube:playlist] playlistidhere: Downloading webpage
[download] Downloading playlist: playlistnamehere
[youtube:playlist] playlist Spotlight On: June Recap: Downloading 39 videos
[download] Downloading video 1 of 39
[youtube] video_id: Downloading webpage
[youtube] video_id: Downloading video info webpage
[youtube] video_id: Extracting video information
[download] Downloading video 2 of 39
[youtube] video_id2: Downloading webpage
[youtube] video_id2: Downloading video info webpage
[youtube] video_id2: Extracting video information
[download] Downloading video 3 of 39
[youtube] video_id3: Downloading webpage
[youtube] video_id3: Downloading video info webpage
[youtube] video_id3: Extracting video information
[download] Downloading video 4 of 39
[download] Downloading video 39 of 39
[youtube] video_id4: Downloading webpage
[youtube] video_id4: Downloading video info webpage
[youtube] video_id4: Extracting video information
Traceback (most recent call last):
  File "<input>", line 5, in <module>
KeyError: 'uploader'

但我只想要youtube播放列表信息 我的问题是如何获得播放列表的上传者,thumnail,所有视频缩略图,视频标题,播放列表标题等。

1 个答案:

答案 0 :(得分:2)

您可以导入youtube_dl,将youtube_dl调用为ydl并设置download = False,这是一个示例

download = False 
ydl_opts = {
    'outtmpl': fileName,     // output filename
    'writesubtitles': True,
    'format': 'mp4',
    'writethumbnail': True
}

with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    ie_result = ydl.extract_info(url, download)

您可以使用https://github.com/daomanlet/freesea/blob/master/sites/downloader.py

import youtube_dl
from freesea import Download
srv = DownloadService()
ie_result = srv.downloadVideo('https://www.youtube.com/channel/UCaO6VoaYJv4kS-TQO_M-N_g','./',False)
print(ie_result)

您将看到ie_result仅包含信息