检索YouTube用户添加到所有播放列表中的所有视频



我在使用YouTube数据API的方式上遇到了瓶颈。我有一个用户帐户,试图作为一个"聚合器",通过添加视频从各种其他频道到大约15个播放列表之一,基于类别。我的问题是,我不能把所有这些视频放到一个feed中,因为它们属于不同的YouTube用户。我想把它们都放到一个列表中,这样我就可以按最近的和最流行的对主列表进行排序,在我的web应用程序中填充不同的视图。

如何获得用户添加到其播放列表中的所有视频的列表?

YouTube必须跟踪这类东西,因为如果你进入任何用户的页面' http://www.youtube.com/'的"Feed"部分,它会给你一个活动流,包括添加到播放列表的视频。

需要说明的是,我不想获取这个用户上传的视频列表,所以http://gdata.../<user>/uploads不能工作。由于有许多不同的播放列表,http://gdata.../<user>/playlists也不能工作,因为每次我想检查新视频时,我需要发出大约15个请求。

似乎没有办法检索用户添加到其所有播放列表中的所有视频的列表。有人能想到一个我可能忽略了的方法吗?

类似于从播放列表中检索youtube链接。它仍然需要改进。

import urllib2
import xml.etree.ElementTree as et
import re
import os
more = 1
id_playlist = raw_input("Enter youtube playlist id: ")
number_of_iteration  = input("How much video links: ")
number = number_of_iteration / 50
number2 = number_of_iteration % 50
if (number2 != 0):
     number3 = number + 1
else:
     number3 = number
start_index = 1
while more <= number3:
     #reading youtube playlist page
     if (more != 1):
          start_index+=50
     str_start_index = str(start_index)
     req = urllib2.Request('http://gdata.youtube.com/feeds/api/playlists/'+ id_playlist     + '?v=2&&start-index=' + str_start_index + '&max-results=50')
     response = urllib2.urlopen(req)
     the_page = response.read()
     #writing page in .xml
     dat = open("web_content.xml","w")
     dat.write(the_page)
     dat.close()
     #searching page for links
     tree = et.parse('web_content.xml')
     all_links = tree.findall('*/{http://www.w3.org/2005/Atom}link[@rel="alternate"]')
     #writing links + attributes to .txt
     if (more == 1):
          till_links = 50
     else:
          till_links = start_index + 50
     str_till_links = str(till_links)
     dat2 = open ("links-"+ str_start_index +"to"+ str_till_links +".txt","w")
     for links in all_links:
          str1 = (str(links.attrib) + "n")
          dat2.write(str1)     
     dat2.close()
     #getting only links
     f = open ("links-"+ str_start_index +"to"+ str_till_links +".txt","r")
     link_all = f.read()
     new_string = link_all.replace("{'href': '","")
     new_string2 = new_string.replace("', 'type': 'text/html', 'rel': 'alternate'}","")
     f.close()
     #writing links to .txt
     f = open ("links-"+ str_start_index +"to"+ str_till_links +".txt","w")
     f.write(new_string2)
     f.close()
     more+=1
os.remove('web_content.xml')
print "Finished!"

相关内容

  • 没有找到相关文章

最新更新