我正在尝试获得与 Youtube API 的 Videos: list 端点类似的响应,但针对的是 YouTube 剪辑而不是视频。我具体寻找的数据是标题、浏览量、上传者。 YouTube 视频的 URL 如下:https://www.youtube.com/watch?v=2Q_ZzBGPdqE,而 YouTube 剪辑的 URL 如下:https://youtube.com/clip/UgkxJKmfKeQYLM9ex5qrU- W2wkwLCfRvlgYU
/clip/ 之后的字符串似乎是一个 ID,类似于 v= 之后的字符串是 YouTube 视频的视频 ID。然而,似乎没有特定于剪辑的 API,并且视频 API 不接受剪辑 ID。是否有一些专用的剪辑 API 或我缺少的 API 之一对剪辑的支持?
我尝试将此 API 与任何看似相关的 Youtube API 端点一起使用,但它们只返回空响应。
v=
值(video_id)可以在html内容中找到。以下是如何使用 Python 提取它的示例:
import requests
def extract_video_id_from_html(html_content):
# split on 'video_id='
partsA = html_content.split('video_id=')
if len(partsA) >= 2:
# split on double quote
partsB = partsA[1].split('"')
if len(partsB) >= 1:
return partsB[0]
# make request
response = requests.get('https://youtube.com/clip/UgkxJKmfKeQYLM9ex5qrU-W2wkwLCfRvlgYU')
# extract video_id from html content
video_id = extract_video_id_from_html(response.text)
print(video_id) # V77X_CINsrU
# constuct url for YouTube API:
youtube_video_url = f'https://www.youtube.com/watch?v={video_id}'