バリケンのRuby日記 RSSフィード

2007-04-25

[][] WWW::Mechanizeを使って「はてなフォトライフアップローダー」を作る(2)  WWW::Mechanizeを使って「はてなフォトライフアップローダー」を作る(2) - バリケンのRuby日記 を含むブックマーク はてなブックマーク -  WWW::Mechanizeを使って「はてなフォトライフアップローダー」を作る(2) - バリケンのRuby日記  WWW::Mechanizeを使って「はてなフォトライフアップローダー」を作る(2) - バリケンのRuby日記 のブックマークコメント

このあいだの続きで、「はてなフォトライフ」に、手元の画像ファイルを一気にアップロードするスクリプトだよ。

こんどは、画像ファイルを5個以上でも対応できるように変更してみたよ。

$KCODE = 's'

require 'mechanize'

upload_files = ['01.jpg', '02.jpg', '03.jpg', '04.jpg', '05.jpg',
                '06.jpg', '07.jpg', '08.jpg', '09.jpg', '10.jpg']

USERNAME = '(はてなユーザー名)'
PASSWORD = '(パスワード)'

#TAGNAME = '(写真につけるタグ名)'
TAGNAME = nil

AGENT = WWW::Mechanize.new

login_page = AGENT.get("https://www.hatena.ne.jp/login")

login_form = login_page.forms.first
login_form['key'] = USERNAME
login_form['password'] = PASSWORD
AGENT.submit(login_form)

def photo_upload (upload_files)
  photo_up_page = AGENT.get("http://f.hatena.ne.jp/#{USERNAME}/up")
  photo_up_form = photo_up_page.forms.first
  current_dir = Dir.pwd.gsub(/\//, "\\") + "\\"

  upload_files[0..4].each_with_index do |item, index|
    photo_up_form.file_uploads.name("image#{5 - index}")[0].file_name = current_dir + item
  end

  photo_up_form['taglist'] = TAGNAME if TAGNAME
  AGENT.submit(photo_up_form)

  upload_files = upload_files[5..upload_files.size]
  photo_upload(upload_files) if upload_files
end

photo_upload(upload_files)

残りは、

だね。あと、追加で

ということも思いついたよ。

トラックバック - http://rubyist.g.hatena.ne.jp/muscovyduck/20070425