Web API関連

ちょっとPythonの勉強をし始めたので、以前Rubyで書いたWeb APIを参照するためのものをPythonで書き直してみた。

対象は、はてなブックマークはてなスターlivedoor readerlivedoor clip、Google PageRank。以前と同じくエラーや例外の処理はしていない。

#!/usr/bin/python
#coding: utf-8
#for Python2.5

from xml.etree import ElementTree
import xmlrpclib
import urllib
import re

username = "geiinbashoku2"

# はてなブックマーク件数
srv = xmlrpclib.ServerProxy('http://b.hatena.ne.jp/xmlrpc')
print srv.bookmark.getTotalCount("http://d.hatena.ne.jp/" + username + "/")

# livedoor reader 購読者数
d = urllib.urlopen("http://rpc.reader.livedoor.com/count?feedlink=http://d.hatena.ne.jp/" + username + "/rss")
print d.read() 
d.close()

# はてなスター数
d = urllib.urlopen("http://s.hatena.ne.jp/blog.json/http://d.hatena.ne.jp/" + username + "/")
print re.compile(r'\"(star_count)\":(?P<count>\d+)').search(d.read()).group('count')
d.close()

# livedoor clip数
srv = xmlrpclib.ServerProxy('http://rpc.clip.livedoor.com/count')
print srv.clip.getCount("http://d.hatena.ne.jp/" + username + "/").values()[0]

# PageRank
d = urllib.urlopen("http://www.trynt.com/google-pagerank-api/v1/?u=http://d.hatena.ne.jp/" + username + "/")
print ElementTree.parse(d).findall("//Pagerank")[0].text
d.close()

もっときれいに書けそうな気がする。正規表現のところとか。