« ねむい | トップページ | そんな俺はamazonプライマー »

2007.12.14

任意のtumblrのPictureだけを一括ダウンロードしてハァハァするシェルスクリプト ※動かなくなっちゃったみたいなのでJavaScript版作りました

※2010/09/16追記
@thelomegさんにご指摘いただいて現行仕様のarchive画面では動かないことが判明…

※2010/09/27追記

任意のtumblrのPictureだけを一括ダウンロードしてハァハァするJavaScript版: 僕だけが幸せになればいいのに。
を作りました。

tumblrっていうミニブログとクリッピングとソーシャル的な何かが一緒になったようなWebサービスにハマっている。多分使い方が間違っている気がするけど、僕は「2次元絵を集めまくる」のに使っている。

集めまくるのはまぁいいとしてWebで過去ログをブラウジングして、さかのぼって見るのって時間がかかる。MacのCoverFlowとか携帯とかで見まくって、つかの間の脳内ワールドにスムーズに酔いしれたい。

思い立ったが吉日。一括ダウンロードスクリプトを作った。

「tumblrget.sh」

スクリプトの

#tumblrのarchiveURL
DOMAIN=http://hogehoge.tumblr.com/archive

のURLを任意のtumblrのドメインに書き換えて上書き。MacだかLinuxだかのUNIXコンソール上でダウンロードしたスクリプトと同じディレクトリで

$ ./tumblrget.sh

と打てば、色々ファイルが出来てdataフォルダの中にガツガツファイルがダウンロードされる。また、以前の最新画像URLを記録しているのでtumblrに新規で画像を追加した際に再度コマンドを打てば差分だけダウンロードしてくれる。

20071214image024


tumblrの画像URLのポイントはダウンロードURLの末尾を500にすると高解像度のデータがダウンロードできるところ。tumblrの画像は複数解像度を保持しているのか動的に生成しているのかわからないが、URLの末尾を引数にしてXML-RPCによって画像を返却している。なぜXML-RPCと推測できるかというと500と250以外の適当な数字を入れるとエラーメッセージがXMLで返ってくるから。ということは、動的に生成しているのかな。でもそれにしては返却されるスピードが結構速い。もしかしたらノードを分散して格納している画像を呼び出すのに使っているのかもしれない。

末尾にソースを添付しておく。間違いあったら誰か教えてクレクレ君。

tumblrget.sh:タンブラーをゴリゴリダウンロードするシェルスクリプト

#!/bin/bash

# archive :wgetしたテンポラリデータ
# resenturl.txt :収集済み直近の画像URL
# regeturl.txt :今回取得する画像URLリスト
# geturl.txt :直近で取得した画像リストpx200版
# geturl500.txt :直近で取得した画像リストpx500版

#tumblrのarchiveURL
DOMAIN=http://hogehoge.tumblr.com/archive

#収集済み直近の画像URL
VARURL=`head -1 resenturl.txt`

#最新imgURLリスト取得
rm -rf geturl.txt
rm -rf archive
echo "get archive list."
wget -nv $DOMAIN
grep background¥:url archive | awk -F ¥' '{print $2}' > regeturl.txt

#更新がなければ終了
if [ `head -1 regeturl.txt` = "$VARURL" ]; then
echo "tumblr nochanged."
exit
fi

#収集済みURL以降のURLを抜く
while read line
do
if [ "$line" = "$VARURL" ]; then
break
fi
echo $line >> geturl.txt
done < regeturl.txt

#最新URLを書き換え/最新URL更新/大画像リスト取得
echo "tumblr added "`cat geturl.txt |wc -l`" pictures."
head -1 geturl.txt > resenturl.txt
sed "s/_250/_500/" geturl.txt > geturl500.txt

echo "get archive..."
wget -i geturl500.txt -P ./data/
echo "got. ended."

« ねむい | トップページ | そんな俺はamazonプライマー »

Web」カテゴリの記事

おすすめサイト」カテゴリの記事

ウェブログ・ココログ関連」カテゴリの記事

コメント

コメントを書く

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

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

« ねむい | トップページ | そんな俺はamazonプライマー »

twitter

サイト内検索
ココログ最強検索 by 暴想

最近のトラックバック

2013年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
無料ブログはココログ

このブログの注目記事

friends

tools







  • blog seo tool : track word
    blog SEO tool


  • RSS feed meter for http://yokoyamen.cocolog-nifty.com/boku/

なかのひと

あわせてよみたい

  • あわせて読みたい
フォト

みんぽす