18 May 2008

Universal Feedparser mit Google App Engine

Da die urllib2 in der Google App Engine nicht unterstützt wird, funktioniert der Universal Feed Parser nicht von sich aus.

Die Appengine stellt aber eine URL Fetch API für das Laden von URLs bereit. Und damit kann man dann doch den Feedparser nutzen:

Man bindet den feedparser und die Fetch API ein

import feedparser
from google.appengine.api import urlfetch
und baut beispielsweise einen RequestHandler damit:
class Feed(webapp.RequestHandler):
  def get(self):
    writer = self.response.out.write
    url = 'http://drigger.com/rss/e/66963'
    result = urlfetch.fetch(url)
    if result.status_code == 200:
      d = feedparser.parse(result.content)
      writer('Title: %s <br/>'  % d['feed']['title'])
      writer('Items:<br/>')
      for e in d['items']:
        writer('<a href="%s">%s</a><br/>' % (e.link,e.title))

09:40 - mbo - 3 comments - 0 trackbacks