はてなブックマークエントリー情報取得APIを使うついでに全体のカテゴリ名を取得する。

参考:Pythonで、はてなAPIを使ってみる(1)
はてなブックマークエントリー情報取得APIを使ってみた。

はてなブックマークエントリー情報取得APIでは項目がないっぽいので、
全体のカテゴリ名をHTMLから正規表現で取ってきて、それを辞書に付加する。

import re
import urllib,urllib2
from django.utils import simplejson

def get_categoryName(trgurl):        
        q = {'url':trgurl}    
        entryinfourl = 'http://b.hatena.ne.jp/entry?%s' % urllib.urlencode(q)
        result=urllib2.urlopen(entryinfourl)
        reg = re.compile(r'class="category-link">(.+)</a>')
        categoryName = reg.findall(result.read().decode('utf-8'))
        result.close
        return categoryName[0]

def get_entryinfo(trgurl,cat):  
        entryinfourl = 'http://b.hatena.ne.jp/entry/json/%s' % trgurl
        result =urllib2.urlopen(entryinfourl)
        entryinfo = simplejson.loads(result.read())
        result.close
        if cat:
            catName = get_categoryName(trgurl)
            dict = {'categoryName':catName}
            entryinfo.update(dict)
            return entryinfo
        else:
            return entryinfo

使い方例 : get_entryinfo('http://d.hatena.ne.jp/yadokari23/20110414',True)