PythonでTwitterのAtomフィードをパースする

例はTwitterのSearch API

from google.appengine.api import urlfetch #GAE/Py
from xml.etree import ElementTree as etree

#・・・・(略)・・・・

qstr = u'#albirex'
query = {'q':qstr,
         'lang':'ja',
         'rpp' :'100'
         }
url = ("http://search.twitter.com/search.atom?%s" % urllib.urlencode(query))
try:
       results = urlfetch.fetch(url=url, method=urlfetch.GET, deadline=10)
       dom = etree.fromstring(results.content)
       atom_ns ='http://www.w3.org/2005/Atom'

       if results.status_code == 200:
            self.response.headers['Content-Type'] = "text/html; charset=UTF-8"
            self.response.out.write('<html><body>')
            self.response.out.write('<h1>%s tweets</h1>' % qstr)
            self.response.out.write('<ul>')

            if dom.findall('.//{%s}entry' % atom_ns):
                for e in dom.findall('.//{%s}entry' % atom_ns):
                    s_text = e.find('./{%s}title' % atom_ns).text
                    s_text = ReplaceLink(s_text)
                    self.response.out.write('<li>%s</li>' % s_text)
                    self.response.out.write('<ul></body></html>')
                else:
                    self.response.out.write('No Data')

except urlfetch.DownloadError:
       self.response.out.write('urlfetch DownloadError!')
       self.response.out.write('http status ' + str(results.status_code)+ '\n')

参考:(何を参考にしたか忘れたのであとで)