はてなキーワード一覧
はてなキーワードAPIを使って、指定された文字を含む「はてなキーワード」の一覧を表示するpythonのプログラムを作ってみました。
search_keyword('鈴木')を実行すれば、「鈴木」を含むはてなキーワードの一覧が表示されます。ただし、「10番目の鈴木は誰だ?」を目標に作っているため、引数に指定したキーワード自身(ここでは「鈴木」)は除かれたリストになります。
#!/usr/bin/env python # -*- coding: utf-8 -*- import urllib from BeautifulSoup import BeautifulSoup def search_keyword(keyword): loadedPageIndex = 1 rss = _get_rss(keyword, loadedPageIndex) soup = BeautifulSoup(rss) # summary of results totalresults = int(soup.channel.contents[12].next) startindex = int(soup.channel.contents[14].next) itemsperpage = int(soup.channel.contents[16].next) loadedItemIndex = itemsperpage # get 1st page data data = list() _append_item(data, rss, keyword) # get other page data while loadedItemIndex < totalresults: rss = _get_rss(keyword, loadedPageIndex + 1) _append_item(data, rss, keyword) loadedItemIndex += itemsperpage loadedPageIndex += 1 # display result for item in data: print item print len(data) def _get_rss(keyword, page): qouted_keyword = urllib.quote_plus(keyword) url = 'http://search.hatena.ne.jp/keyword?word=' + qouted_keyword + '&mode=rss2&ie=utf8&page=' + str(page) rss = urllib.urlopen(url).read() return rss def _append_item(data, rss, exclude_keyword=''): soup = BeautifulSoup(rss) items = soup.findAll('item') for item in items: title = item.title.next if title != exclude_keyword: data.append(title)
これを使って、Googleから検索結果を取ってくれば、ランキングが作れますね。