使用 API (Python) 检索 YouTube 视频标题?

Retrieve YouTube Video title using API (Python)?

这两个输入应具有相同的标题:

https://www.youtube.com/watch?v=LAUa5RDUvO4

https://youtu.be/LAUa5RDUvO4

但我无法在一个程序中同时使用两者,似乎是因为找不到 shorturl 的 ID(此处为 LAUa5RDUvO4)。

如何使用 Youtube API 打印标题?

您可以使用 lxml 解析器和 xpath 表达式来提取 YouTube 视频的标题

import lxml
from lxml import etree
youtube = etree.HTML(urllib.urlopen("http://www.youtube.com/watch?v=KQEOBZLx-Z8").read()) //enter your youtube url here
video_title = youtube.xpath("//span[@id='eow-title']/@title") //get xpath using firepath firefox addon
print ''.join(video_title)

您可以使用此代码获取视频标题。您只需要视频 ID。这个问题已经有了答案 Get title from YouTube videos 。希望问题被重复。以下答案来自波尔图,我觉得很有用。

import urllib.request
import json
import urllib

#change to yours VideoID or change url inparams
VideoID = "LAUa5RDUvO4" 

params = {"format": "json", "url": "https://www.youtube.com/watch?v=%s" % VideoID}
url = "https://www.youtube.com/oembed"
query_string = urllib.parse.urlencode(params)
url = url + "?" + query_string

with urllib.request.urlopen(url) as response:
    response_text = response.read()
    data = json.loads(response_text.decode())
    print(data['title'])