はてな更新スクリプト
で、早速
Greenbear Diary - RubyでHTMLとWebを操作するためのライブラリ、HpricotとWWW::Mechanize
http://mono.kmc.gr.jp/~yhara/d/?date=20070205
を見ながら。若干はてなの仕様が変わってるところがあったりで、(ログインページの名前キーが key じゃなくてname)ちょっと手を加えてみる:
require 'rubygems' require 'mechanize' require 'kconv' # config user = "XXX" password = "YYY" login_url = "https://www.hatena.ne.jp/login" d_url = "http://d.hatena.ne.jp/#{user}/" edit_url = d_url + "edit/" # mode override = false # opt parse OptionParser.new do |opt| opt.on('-o') {|v| override = true} opt.parse!(ARGV) end # read body from file fname = ARGV[0] body = File.readlines(fname).join("").toeuc # login agent = WWW::Mechanize.new login_p = agent.get(login_url) form = login_p.forms.first form['name'] = user form['password'] = password redirect_p = agent.submit(form) # edit edit_p = agent.get(edit_url) form = edit_p.forms.name("edit").first if override form['body'] = body else form['body'] += body end ok_btn = form.buttons.name("edit") agent.submit(form, ok_btn)
かなり手抜きですが、
% ruby d.rb [-o] fname
-o をつけると上書き。