結局Pythonを使ってコマンドラインで動作するTwitterクライアントを作ってしまったTweetTwitterのアカウントを取ってから既に1年半になるが、活発に使っているとは言い難い。その原因の一つとしてTwitterのクライアントがある。自分が利用するのにピッタリだと思うクライアントが見つからなかったのだ。そこで結局、自分の好みに合わせてコマンドライン上で動作するシンプルなTwitterクライアントをPythonで作ってしまった。ワンライナー(1行プログラム)。最初の頃はいくつかのクライアントを使ってみたのだが、PCでの作業はシェルで行うことが多いので別のウィンドウを開きたくなかったり、Windows、Unix、MacなどのOSが変わっても同じクライアントを使いたかったり、GUIじゃなくてCUIで操作したかったり、それほど使い込むつもりがないので極力シンプルでコンパクトになっていて欲しかったり、そもそもクライアントをインストールしたくなかったりと、かなり条件を厳しく求めていたら使えるクライアントがなくなってしまい、結局、公式サイトもしくは自分で作成した掲示板からたまにつぶやくだけになってしまった(ただし、Twitterfeedは利用している)。最近になってタイムラインをよく眺めるようになり、これが結構面白いと気がついた。自分と違う考え方に触れるのは楽しい。自分ももう少しつぶやいてみようかと思ったのだが、公式サイトや掲示板からのポストはいちいちブラウザを開かなくてはならず手軽だとは言い難かった。そこで、先日、PythonのワンライナーでTwitterを使えるようにしたこともあり、もう少し改良してそれをクライアントにすることにした。Pythonスクリプトなら、Pythonが入っていればどのOSでも動作するし、使い方はどこでも一緒で、コマンドラインでそのまま使え、タイムラインをgrepなどで簡単に選択表示できる。それに、たった1行のソースコードなので簡単に中身を確認でき、パスワード漏洩やキーロガーなどを心配しなくてもいい。つぶやき"などでTwitterにつぶやくことができる。つぶやきに&などの特殊文字や連続でスペースが入る場合などはダブルクォーテーション(")で括ること。つぶやきに入っているURLは自動的にbit.lyによる短縮URLとなる。PowerShellで使用する場合は、プロファイル($profileで表示されるファイルで、Microsoft.PowerShell_profile.ps1などを指し、PowerShell起動時に読み込まれる)に以下の関数を定義しておくと便利だ。}Unixなどで日本語コードが異なっていても、ソースを変更せずにnkfなどを使ったエイリアスで簡単に対処できる。特殊文字などを使ったときに問題が出るかもしれない。以下の例は、Unix側の表示がUTF-8でシェルがtcshの場合。するだけで実行できる。フレンド名で、指定したフレンドの発言をタイムラインから簡単に抜き出すこともできる。今回のPythonによるTwitterクライアントのソースを以下に示す。simplejsonを使っている。Keyはbit.lyアカウントのページですぐに取得できる。Engineで作ったバイナリ/アスキー変換を利用してもらっても構わない。エンコードされていてもセキュリティが強固になるわけではないのだが、ぱっと見でばれてしまう平文よりはいいんじゃないかな。ワンライナーにしたのもぱっと見で解りづらくするためだし。ところで、TwitterのAPIでデータを取得したり送信したりすると、たまに失敗することがあるので、エラーが出たときは再度実行すること。simplejson.loads(urllib2.urlopen('http://twitter.com/statuses/friends_timeline.json').read())]).encode('cp932','replace'))]追記(2009/9/9):今までTwitterのお気に入り機能を使っていなかったけど、ふぁぼったーを見て使いたくなったので、今回のコマンドライン型Twitterクライアントでも使えるように改良した。tw.pyについてはつぶやきの最後に[つぶやきのID]を表示するようにした。fav.pyでつぶやきをお気に入りに加えることができる。[つぶやきのID]tw.pyで表示されたIDを入力する。コピー&ペーストだと簡単。IDの括弧([])は入れても入れなくても構わない。IDを付けずにfav.pyとすれば、自分のお気に入りを表示することができる。お気に入りを使わないのであればtw.pyによるIDの表示は目障りになるかもしれないので、そのときは以前のtw.pyを使った方がいいと思う。以下、修正したソース。Engineメッセージボード*当ブログに関する意見や要望などにお使いください。Googleアカウントでログインすることで書き込みができます。Twitterへの送信を同時に行うこともできます。ストリートビューで散歩*Googleマップのストリートビューを利用して散歩をするWebアプリです。ストリートビューとマップを分割してマーカーを視界タイプに変更することで使いやすくしてあります。APIを利用したグラフ・チャート作成ウェブアプリです。クリック一つで簡単にグラフを作成できます。ブログ記事への貼り付けなどにどうぞ。OpenIDテスト*OpenIDによるログインのテストを行います。mixiであればクリック一つで、他のOpenIDアカウントであればそのURLを入力することでテストできます。一言コメント表示機能付きです。HTML文字変換*テキストで使われているHTML特殊文字をウェブで表示できるようにするための文字変換ウェブアプリです。プログラムのソースコードなどをブログ記事に貼り付けるときなどに便利です。短縮URLチェッカー*フィッシングサイト判別機能付き短縮URLチェッカーです。テキストボックスに変換したいURLを入力すればbit.lyの短縮URLが表示され、bit.lyの短縮URLを入力すればもとのURLが表示されます。展開されたURLがリンク付きで表示されますが、もしフィッシングサイトの疑いがある場合は警告が表示されます。Trendsの急上昇ワードをランキング順に表示します。Googleでのキーワード・画像検索やWikipediaによる用語の説明もあります。※GoogleがAPIの提供を終了したため、現在停止中です。自己紹介noxゲームを楽しむだけの余裕と感性は失いたくないnoxです。