このまえの続き
Ruby/Tk、簡単だけど情報が少なくて探すの大変。
さてさて、この前のなんちゃってmixiボイスクライアントにGUIつけてみました。
単純にテキストエリアに出力されるだけです。
ところで、このクライアント「>>○○○」でのレスに対応してないようだ。
タグの中のXPathが拾ってないものね。今度直そう。
それとメールアドレス&パスワードをソースに直で書き込むのもあれだから入力フォームもうけようw
メールアドレスはTkEntryで良さそうだけど、パスワードはパスワード用の入力が****で表示されるやつのほうがいいな。そういうのあるのかな?
あ、あと投稿機能もなきゃだめね。
require 'rubygems' require 'tk' require 'mechanize' class Voice def get agent = WWW::Mechanize.new response = agent.post("http://mixi.jp/login.pl", {'next_url' => '/home.pl', 'email' => 'xxxxxxxxxx@xxxxx', 'password' => 'xxxxxxxxx'}) agent.get("http://mixi.jp/recent_echo.pl") nicknamelist = [] echolist = [] agent.page.search('div/div/div/div/table/tr/td/div.echo_nickname').each{|nickname| nicknamelist.push nickname.inner_text } agent.page.search('div/div/div/div/table/tr/td/div.echo_body').each{|echo| echolist.push echo.inner_text } voice = [] (0..24).each{|i| voice[i] = nicknamelist[i].to_s + ": " + echolist[i].to_s } voice end end voice = Voice.new.get text = TkText.new(:height => 30).pack voice.each{|v| text.insert 'end', v + "\n"} TkButton.new{ text "reload" command { text.delete '1.0', 'end' voice.each{|v| text.insert 'end', v + "\n" } } pack(:side => 'left') } Tk.mainloop