読者です 読者をやめる 読者になる 読者になる

snuffkinの遊び場

IT関係、スポーツ、数学等に関することを、気が向いたときに書いてます。

Google App Engineは手軽で面白い

Google App Engineのアカウントは持っていたのですが、これまで実際に遊んだことはありませんでした。この間、Pythonのソースをデバッグする機会があったので触発されてGoogle App Engineで遊んでみました。
これ、面白いですね。

  • 自分で作ったPythonアプリをGoogleのインフラを使って全世界に公開できる
  • アクセス等を確認できる管理画面が用意されている
  • アプリ毎に1つのURLをもらえるが、ひとり3個までしかアプリを登録できない

Pythonでちょっとしたプログラムを書いて公開するってのは、慣れると随分手軽そうです。iPhone/iPod touchアプリより開発の敷居は低そうです。まあ、GoogleはWebアプリ、iPhoneはリッチクライアントな方向のようなので、比較することがナンセンスと感じる方もいるでしょうが。

ちなみに、マリノスの選手一覧を表示するコードは以下のように書けます。お手軽です。サッカー観戦時に便利です。

#!/usr/bin/env python
import wsgiref.handlers
from google.appengine.ext import webapp

from google.appengine.api import urlfetch
from BeautifulSoup import BeautifulSoup

class MainHandler(webapp.RequestHandler):
  def get(self):
    url="http://www.j-league.or.jp/SS/jpn/team/200801_000005_W0601_J.html"
    result = urlfetch.fetch(url)
    soup = BeautifulSoup(unicode(result.content, "shift_jis"))
    datalist = soup.findAll("td", {"valign" : "TOP"})
    self.response.out.write("<html><body>")
    for onedata in datalist:
        self.response.out.write(onedata.font.b.font)
        self.response.out.write("<br />")
    self.response.out.write("</body></html>")

def main():
  application = webapp.WSGIApplication([('/', MainHandler)],
                                       debug=True)
  wsgiref.handlers.CGIHandler().run(application)

if __name__ == '__main__':
  main()