Python 如何从id中抓取youtube视频的缩略图?

Python 如何从id中抓取youtube视频的缩略图?,python,youtube,Python,Youtube,我对python非常陌生,我想知道如何才能打印maxres缩略图,而不是视频的所有内容。很抱歉,如果答案有点明显,我对python和一般编程有点陌生 from apiclient.discovery import build DEVELOPER_KEY = 'xxxxxx' youtube = build('youtube', 'v3', developerKey=DEVELOPER_KEY) ids = '6Gw-RyTRMns' results = youtube.videos().li

我对python非常陌生,我想知道如何才能打印maxres缩略图,而不是视频的所有内容。很抱歉,如果答案有点明显,我对python和一般编程有点陌生

from apiclient.discovery import build

DEVELOPER_KEY = 'xxxxxx'
youtube = build('youtube', 'v3', developerKey=DEVELOPER_KEY)

ids = '6Gw-RyTRMns'
results = youtube.videos().list(id=ids, part='snippet').execute()
for result in results.get('items', []):
    print(results)    

我还想知道是否有一种方法可以从给定视频的描述中获取图片的URL并将其保存到文件夹中

多亏了YouTube,这一切都变得简单了。他们使用下面的链接以不同的分辨率检索缩略图。假设您只需要URL,只需格式化如下字符串:

http://img.youtube.com/vi/<insert-youtube-video-id-here>/maxresdefault.jpg

对于现在阅读此答案的读者,更新的url方法是:

http://img.youtube.com/vi/<insert-youtube-video-id-here>/hqdefault.jpg
http://img.youtube.com/vi//hqdefault.jpg

下面是一个简单的代码。正则表达式匹配所有共享和嵌入的URL

import re
url = # Any Youtube URL
exp = "^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#&?]*).*"
s = re.findall(exp,url)[0][-1]
thumbnail = f"https://i.ytimg.com/vi/{s}/maxresdefault.jpg"
print(thumbnail)

我该怎么做我问题的第二部分?在这个问题上,你的意思是直接从视频描述中获取链接吗?如果是这样,我建议使用regex,你可以在这里找到一个例子:maxresdefault。jpg@yevvy我已经用一个链接更新了答案,您可以使用这个链接来实现这一点
import re
url = # Any Youtube URL
exp = "^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#&?]*).*"
s = re.findall(exp,url)[0][-1]
thumbnail = f"https://i.ytimg.com/vi/{s}/maxresdefault.jpg"
print(thumbnail)