简单地抓取youtube xml以获取Python视频列表

Sky*_*and 1 python xml youtube

我有一个xml提要,说:

http://gdata.youtube.com/feeds/api/videos/-/bass/fishing/

我想获取视频的href列表:

 ['http://www.youtube.com/watch?v=aJvVkBcbFFY', 'ht....', ... ]
Run Code Online (Sandbox Code Playgroud)

Ale*_*lli 7

from xml.etree import cElementTree as ET
import urllib

def get_bass_fishing_URLs():
  results = []
  data = urllib.urlopen(
      'http://gdata.youtube.com/feeds/api/videos/-/bass/fishing/')
  tree = ET.parse(data)
  ns = '{http://www.w3.org/2005/Atom}'
  for entry in tree.findall(ns + 'entry'):
    for link in entry.findall(ns + 'link'):
      if link.get('rel') == 'alternate':
        results.append(link.get('href'))
Run Code Online (Sandbox Code Playgroud)

因为看起来你得到的是所谓的"替代"链接.如果你想要稍微不同的东西,我希望,从上面的代码(以及ElementTree 的标准Python库文档)中可以清楚地看到许多小的,可能的变化.