urlfetch.fetch ではてなキーワード API を使ってみよう。



Google App Engine では
インターネットを経由して外部の Web ページや XML を参照したり
API を使ったりするときには urlfetch モジュールを使います。
通常の Python で使われる urllib の代わりですね。


下のサンプルコードは、はてなキーワード API を使って検索している例です。
ドラマ ブラッディ・マンディ の Falcon も大好きな キーワード python を検索しています。

Google App Engine を使う場合と普通の CGI を使う場合を並記したので、 urllib を使ったことがある方はすぐに理解できると思います。

(はてなは、User-Agent を設定しないと回答してくれません...)


最後は、はてなキーワード API の結果を ElementTree に入れています。

url = "http://search.hatena.ne.jp/keyword?mode=rss&ie=utf8&word=python&page=1"

# GoogleAppEngine を使うとき
if GoogleAppEngine == True:
 from google.appengine.api import urlfetch
 res = urlfetch.fetch( url = url, method=urlfetch.GET,
      headers={'Content-Type': 'application/x-www-form-urlencoded',
       'User-Agent': 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'} )
 xml = res.content

# 普通のCGIのとき
else:
 import urllib
 opener = urllib.FancyURLopener()
 xml = opener.open( url ).read()

# ElementTreeの構築
root = ElementTree.fromstring( xml )


ではでは