Google App Engine上でXMLをパースする
http://yamashita.dyndns.org/blog/google-app-engine-xml/
こちらのサイトを参考に自分のブログのフィードを解析しようと試みた、がなぜかうまくいかない。
そこでElementTreeについて検索して調べると、以下のサイトにこのようなことが書いてある。
http://python.matrix.jp/modules/ElementTree.html
「.//comment」であれば、子孫の全ての「comment」タグのエレメントを見つけてきます。
山下氏のサイトではこれが、「./status」になっていた。自分はこれをそのまま「./item」でブログのフィードを解析しようとして出来なかったみたいだ。
以下に実際に解析したソースコードを掲載する。
import wsgiref.handlers import xml.etree.ElementTree as etree from google.appengine.ext import webapp from google.appengine.api import urlfetch class MainHandler(webapp.RequestHandler): def get(self): url = 'http://www.nantekkotai.com/feed' xml = urlfetch.fetch(url).content dom = etree.fromstring(xml) for st in dom.findall('.//item'): title = st.findtext('title').encode('utf-8') desc = st.findtext('guid').encode('utf-8') print "%s-%s\n" % (title, desc) def main(): application = webapp.WSGIApplication([('/', MainHandler)], debug=True) wsgiref.handlers.CGIHandler().run(application) if __name__ == '__main__': main()