« VMWare Player | トップページ | そういえば… »

2007年8月18日 (土曜日)

mixi のトピの画像を根こそぎ落とし隊…

…と、思っていつもの如くバータリーにやってみたら出来たのでメモ。見ての通り wget と ruby が必要。

まず、

wget -O - --keep-session-cookies --save-cookies=cookie.txt http://mixi.jp/login.pl --post-data="next_url=%2Fhome.pl&email=メールアドレス&password=パスワード"

…みたくやって、ログインした時に貰える cookie を cookie.txt というファイルに保存する。
メールアドレスとパスワードは、当然ながら普段 mixi へのログインに使用しているモノ。きっと url-encode するのが吉。

あとは、上で保存した cookie.txt があるディレクトリで、下記のスクリプトの標準入力に、欲しい画像がある mixi のページの html ソースを喰わせる。

#!/usr/bin/ruby

IMGREGEXP1 = /MM_openBrWindow\('([^']+)/
IMGREGEXP2 = /<img SRC="([^"]+)"/

STDIN.each { |line|
  if line =~ IMGREGEXP1
    command = "wget -O - --load-cookies=cookie.txt http://mixi.jp/#{Regexp.last_match(1)}"
    command.gsub!(/\&/, "\\\\&")
    command.gsub!(/\?/, "\\\\?")
    html = `#{command}`
    if html =~ IMGREGEXP2
      `wget --load-cookies=cookie.txt #{Regexp.last_match(1)}`
    end
  end
}

…と、取り敢えず、数日前はコレで画像が取得できたっぽい。
エラー処理とか何もやってないし、ダメだった時は自分で解決して下さい。

|

« VMWare Player | トップページ | そういえば… »

スクリプティング」カテゴリの記事

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/144752/16152375

この記事へのトラックバック一覧です: mixi のトピの画像を根こそぎ落とし隊…:

« VMWare Player | トップページ | そういえば… »