[Python] mixiボイスに投稿する

カテゴリ: mixi

http://www.baru-san.net/に移りました。


やらなければならないことは分かったので、ひとまずPythonでmixiボイスに投稿するプログラムを組んでみました。コマンドラインからだと日本語入力がうまくいかなかったので、Tkinterを使ったごくごく簡単なGUIも実装しました。コードは最下部にまとめて載せます。

よくわからないままCookieなども使ってますが、とりあえずこれで動きました。

mixiClientクラスが本体、windowクラスがGUI生成機です。mixiCilentのpost, getメソッドはそれぞれPOST, GETを送信するもので、同様のはネットにたくさん出てます。

肝心のpost_keyの取得ですが、ElementTreeもBeautifulSoupもうまくいかなかったので、仕方なく文字列の処理で抽出しています。GETメソッドでボイスのHTMLを取得した後、’post_key’を検索してそれ以前の部分を削除し、その直後のvalue=”hogehoge”の値がキーなので、そこだけsplitを使って抜き出してます。すごくかっこ悪いやり方ですが、こんなのしか思いつかなかったです。このあたりは、ボイスのページのview-sourceでHTMLを見るとよくわかると思います。

ボイスを投稿するときにはEUC-JPに本文をエンコードするようにします。しないと文字化けします。

windowクラスの中では、ウィンドウの中にテキストボックスを作って、そこに適当な文字列を入力してエンターキーを押すとmixiClient.echo( )が実行されるようになっています。

以下コードを表示します。自由に利用していただいて構いませんが、もしうまい書き方などありましたら、ぜひコメントで教えてください。

続きを読む »

2009/9/24 (木)

[perl] 非公式mixiAPI

カテゴリ: mixi

先日mixiボイスという機能がリリースされましたが、公式ページのボイスは使いにくくないですか?僕はそう思って、何か楽にするプログラムが書けないかと思い立ち、いろいろネットで調べることにしました。

mixiをPythonで扱おうと思ったのですが、mixiは公式APIを公開すると言ってしてないみたいなので、自分でやるしかないみたいです。それで mixiにはPerl使いが多いようで、Perlのモジュールはだいぶ充実しているみたいなので、手始めにPerlでごにょごにょしてみることにしました。

続きを読む »

2009/9/24 (木)