Pythonでデモアプリ
入院期間中に、暇つぶし的にPythonでいくつかアプリケーションを作ってみました。
私のPythonの力量はまだまだJavaに比べると身について無いですが、しかし簡単なバッチやWebアプリならJavaよりもPythonの方が全然速く作れるな、とは思いました。
一応作ってみたアプリをご紹介します。
スクレイピング系ばかりなので金を稼いだりトラフィックを集めたりする気は有りません。ひっそりと過ごさせてください。
twitter bot(映画評論家が記事をアップしたらつぶやく系)
以前Javaで作った同種のtwitter botがOAuth対応していなく、かつソースもまるごと紛失してしまったので、代替として実装しました。
詳細は割愛します。
NHK World Chinese News(スマートフォン専用)
Python版Google App Engineと、さくらVPSに立てた独自APIサーバーで構築しました。
私は通勤中などによくNHKの中国語ニュースのPodcastをAndroid端末で聴いているのですが、現行のサイトはAndroid端末では読みづらいため、記事をクロールして拝借してスマートフォン向けのUIで閲覧できるようにしています。(NHKの方から苦情が来たら即閉じます。。)
ただクロールしてスマートフォン向けUIにしただけでは面白くないし中国語学習の助けにもならないので、KyTeaというライブラリと中国語関連の言語モデルを使用して中国語の分かち書きと発音推定を行い、それをページ下部に載せています。
読みがわからない単語は、こちらを見て理解を補う、という感じで活用しています。画面上部がオリジナルの記事、下部がピンイン付き、という感じです。
KyTeaはGAE上での動作は難しそうなので、そちらの解析はさくらVPS上のAPI上で行って、GAE上から定期的に呼び出すようにしています。
なお、デザインは「はてなダイアリー」のCSSを大部分パクって使用しています。。もう少し理解が進んだら独自のものに変えていきます。。
笑容博(スマートフォン専用)
https://xiaorongboke.appspot.com/
某有名ブログに投稿されている、著名人の「女性」の「笑顔」の写真のみをピックアップして表示しているサイトです。
「笑容博」は「えがおブログ」みたいな意味のつもりです。
こちらもブログ運用元から苦情が来たらひっそりと閉じさせていただきます。。あくまで私個人で愛用することを想定しておりお金稼ぎなどは全く考えていません。
画像の表示は、https領域から接続することでrefererを消す、というあまり良くないギミックを使っています。
システム的には、Google App EngineとさくらVPS上で可動するバッチで構成されています。
笑顔の検知はface.comのAPIを使用しているのですが、こちらのPythonクライアントがPython2.6でしか動作しないようで笑顔検知のバッチはさくらVPS上に置いています。
※Google App EngineはPython2.5に対応。2.6固有の構文やAPIは使えない。
Java版のGoogle App Engineを以前は良く使っていたのですが、Java版はひがやすをさんが「破滅的イノベーション」と呼んでいるように既存のフレームワークや開発環境との接点がほとんど無かったのに対し、Python版はwsgi標準に対応しているので親しみなれたWebフレームワークと同じように開発ができるので、GAE/J程のギャップはなく、良いと思います。
Google App Engineを使うならPythonしかありえんな・・・・と個人的には思いました。
なんにせよ、1週間足らずで上記に挙げたようなモノをポコポコ作って(自分向けに)公開できるのは楽しいですね。最近は本当に開発環境が恵まれていると思います。