Hatena::ブログ(Diary)

hogeなlog

プロフィール

hogelog

hogelog

小室 直(こむろ すなお)。電気通信大学2003年入学。2010年修士卒業。プログラミングとかしてます。

カレンダー
1984 | 01 |
2006 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 |
2010 | 01 | 06 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 05 | 08 | 09 | 10 | 12 |
2012 | 01 | 04 | 06 |

July 10(Thu), 2008

[][] twitter発言スクリプト

そんなもん書くまでも無くあるだろう。でも探すまでもなく書きゃいいじゃん。探したり動かすのってやっぱりめんどうだから。

ほとんどこの前書いたmixi日記投稿スクリプトの使い回し。

他の人の発言が見えないところとかが他のTwitterクライアントと比べて優れている点です。

#!/usr/bin/env ruby

require 'tempfile'
require 'rubygems'
require 'mechanize'
require 'kconv'

USER = 'username'
PASS = 'password'
EDITOR = 'C:/hoge/prg/gp/GreenPad.exe'
LOG = 'twitter.log'
def login
  agent = WWW::Mechanize.new
  page = agent.get('http://twitter.com/login')
  login_form = page.forms[1]
  login_form['username_or_email'] = USER
  login_form['password'] = PASS
  home_page = agent.submit(login_form)
  return agent, home_page
end
def update(agent, home_page, text)
  update_form = home_page.forms[0]
  update_form['status'] = text
  agent.submit(update_form)
end
def edit_txt
  tmppath = ''
  Tempfile.open('twitter'){|file|
    tmppath = file.path
  }
  system(EDITOR, tmppath)
  texts = IO.readlines(tmppath)
  return texts
end
text = edit_txt.join.toutf8
agent, home_page = login
update(agent, home_page, text)

File.open(LOG, 'a'){|file|
  file.printf("%s %s\n", Time.now.strftime('%Y%m%d %X'), text)
}

LukeSilviaLukeSilvia 2008/07/10 11:37 twitter はAPI があるので、それを活用するのがよいのではないかと思います

hogeloghogelog 2008/07/11 04:26 APIがあるのは知ってましたけど、制限あったり、あと調べるよりmechanizeで書く方が早いなーと思って書いてしまいました。

トラックバック - http://d.hatena.ne.jp/hogelog/20080710/p1
最近のコメント