PythonでTwitterのAtomフィードをパースする
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')
参考:(何を参考にしたか忘れたのであとで)