如何在 youtube 上搜索视频并获得 link 和 python

How to search videos on youtube and get link with python

我正在尝试根据 YouTube 上的歌曲名称和艺术家姓名搜索歌曲,并尝试获取出现在搜索队列中的第一个视频的 link 并下载该视频,但我面对这个错误。你能帮我解决这个错误吗?

这就是我尝试实现的方式......

   import re
   import urllib.request
   import urllib.parse
   i=0
   for a in artists:
      for t in titles: 
         input = urllib.parse.urlencode({'search_query': titles[i] + ' by ' + artists[i]})
         #html = requests.get("https://www.youtube.com/results?search_query=" + s_k)
         html = urllib.request.urlopen("http://www.youtube.com/results?" + input)
    
         video_ids = re.findall(r'href=\"\/watch\?v=(.{11})', html.read().decode())
    
         print("https://www.youtube.com/watch?v=" + video_ids[0])
         i+=1
  
       if i == 809:
            break

[此处,'titles' 是歌曲名称列表,'artists' 是艺术家列表。 809 是两个列表的长度]

但我明白了

这个错误意味着 video_ids 列表是空的,因为它的第一个索引,即 0,超出了范围。您可以将其包装在 try except 块中:

try:
    print("https://www.youtube.com/watch?v=" + video_ids[0])
except IndexError:
    pass