Pythonを使ってTumblr APIのレスポンスをパースするサンプル

Tumblrの、記事の一覧を取得するAPIのレスポンスをパースするサンプルです。

#coding: UTF-8
import urllib
from xml.etree import ElementTree

def parse_tumblr_api_response():
    url = u"http://yusukemurayama.tumblr.com/api/read"
    f = urllib.urlopen(url)
    data = {}
    tumblelog = {}
    data["tumblelog"] = tumblelog
    posts = []
    data["posts"] = posts
    try:
        tree = ElementTree.parse(f)
        tumblelog_elem = tree.find("tumblelog")
        tumblelog["title"] = tumblelog_elem.get("title")
        for post_elem in tree.find("posts").getiterator("post"):
            post = {}
            post["id"] = post_elem.get("id")
            post["url"] = post_elem.get("url")
            post["type"] = post_elem.get("type")
            post["timestamp"] = float(post_elem.get("unix-timestamp"))
            post["title"] = post_elem.findtext("regular-title")
            post["body"] = post_elem.findtext("regular-body")
            tags = []
            for tag_elem in post_elem.getiterator("tag"):
                tags.append(tag_elem.text)
            post["tags"] = tags
            posts.append(post)
    finally:
        f.close()
    print(data)
if __name__ == "__main__":
    parse_tumblr_api_response() 

この記事が役に立った場合、シェアしていただけると励みになります!!