如何在使用 python 搜索视频后获取 YouTube 视频的全名?

How to get full name of the YouTube video after search a video using python?

import urllib.request
import re
search_keyword ="music"
search_song_url = urllib.request.urlopen("https://www.youtube.com/results?search_query=" + search_keyword)
video_ids = re.findall(r"watch\?v=(\S{11})", search_song_url.read().decode())
url="https://www.youtube.com/watch?v=" + video_ids[0]
str(url)
print(url)

从这段代码中,我得到了正确的 URL YouTube 视频,但我想要视频的全名。试了很多都找不到视频的全名

求视频全名

您可以使用刚刚获得的 url 的 html。然后用lxml就容易多了。

import urllib.request
import re
import lxml
from lxml import etree

search_keyword ="music"
search_song_url = urllib.request.urlopen("https://www.youtube.com/results?search_query=" + search_keyword)
video_ids = re.findall(r"watch\?v=(\S{11})", search_song_url.read().decode())
url = str("https://www.youtube.com/watch?v=" + video_ids[0])

youtube = etree.HTML(urllib.request.urlopen(url).read())
video_title = youtube.xpath("/html/head/title")
print (video_title[0].text)

非常适合我。