[Python] twitterBotをつくる

カテゴリ: twitter

最近よく取り上げられるようになってきたtwitterですが、twitterのタイムラインを読み書きして動くボットプログラムがいくつか動いています。

ということで、Pythonでボットプログラムを動かすためのまとめを書いてみます。

続きを読む »

2009/9/28 (月)

[Ruby] 和暦のパース

カテゴリ: misc.

知り合いとちょっと話したお話。

Rubyで和暦を読んで日付のクラスを作りたいということで、irbでこんなのを実行してみました。

require 'date'
d = Date.parse("平成21年9月26日")
d.ctime

これで返ってきた答えは、

=> "Mon Sep 21 00:00:00 2009"

でした。なんだかこれはおかしい。

続きを読む »

2009/9/26 (土)

[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 (木)