« 千葉市科学館で親子で作る2モータリモコン自由工作ロボット教室 | トップページ | 9月の読書まとめ »

2010.09.27

任意のtumblrのPictureだけを一括ダウンロードしてハァハァするJavaScript版

以前作ったtumblr画像一括ダウンロードスクリプトなのだが…

思い立ったが吉日。一括ダウンロードスクリプトを作った。 via 任意のtumblrのPictureだけを一括ダウンロードしてハァハァするシェルスクリプト

tumblrの「Archive」ページの仕様が変更になったらしく、AutoPagerizeライクなインターフェースに。それに伴って、一括取得するために作成していたtumblrget.shが動かなくなってしまったとtwitterで@thelomegさんにご指摘いただき、現行仕様のarchive画面では動かないことが判明…。うう。というわけで、直すことに。

どうやって画像一覧を取得しようかと思って調べるとtumblrAPIがJSON(P)で提供されていたので、JQueryの練習がてらJavaScript de Get!! verなtumblrURLゲッツスクリプトを作成したので公開。

■機能

1.Photo高解像度のみゴリゴリURL取り出し
テキストのPostとかは時々Reblogするけど使わないんで、今回は「Photo」として投稿してある画像URLのみ取得。[photo-url-1280]ってのが高解像度っぽいので、それを抽出してる。

2.ネタ重複削除
APIでネタ元のURL[photo-link-url]を提供していたので、ネタ元が重複しない機能を実装。つまり「鼻息荒く同じ画像をReblogReblogReblog」してしまったものや、過去の自分をまた繰り返してしまった「昨日のオレをまたReblog」したPostの重複ダウンロードともオサラバ。

■ダウンロード手順

1.URL取得
このページに遷移してtumblrのサブドメインを入力してGet!ボタンを押下して数秒待つと、URLのダウンロードが始まる。全部のURLをDLするまで延々と続く。


2.出力結果をCtrl+Aしてコピペでエディタに貼り付けて「URL.txt」などの名前でリストを保存。

URL.txt

1234567890 http://30.media.tumblr.com/tumblr_l9cmvip3ew1qzwj9fo1_400.jpg
2234567890 http://hogefuga.tumblr.com/photo/1280/1196026658/1/tumblr_l9dpq4GwPe1qzkv2f
3234567890 http://hogefuga.tumblr.com/photo/1280/1196024747/1/tumblr_l9br9d9oee1qz53a8
4234567890 http://hogefuga.tumblr.com/photo/1280/1196015476/1/tumblr_l9ct7mdAnh1qzkv2f
5234567890 http://26.media.tumblr.com/tumblr_l9994fEUV01qz90kto1_400.jpg

リストはタブ区切りテキストになっており「記事ID」「(保持している最高解像度の)画像URL」というデータ。なんでこんなデータにしているかというと、画像URLの先が固定URLのものからAmazonS3などにリダイレクトされるQueryString付きのURLだったりして、そのままwgetしてしまうとファイル名が大変長いハッシュみたいなファイル名になるので記事IDをkeyにしてシンプルかつソート可能なファイル名にするため、記事IDを併せて取得している。


3.wgetに記事IDと画像URLを渡して挙げるとダウンロードがスタート。

↓↓これを打て!↓↓


$ while read ID URL; do wget -O "$ID.jpg" $URL; done < URL.txt

--17:00:02-- http://30.media.tumblr.com/tumblr_l9cmvip3ew1qzwj9fo1_400.jpg
=> `5234567890.jpg'
Resolving 30.media.tumblr.com... 68.232.44.19
Connecting to 30.media.tumblr.com|68.232.44.19|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 58,936 (58K) [image/jpeg]

100%[========================================================>] 58,936 69.51K/s

17:00:03 (69.24 KB/s) - `5234567890.jpg' saved [58936/58936]

--17:00:03-- http://hogefuga.tumblr.com/photo/1280/4234567890/1/tumblr_l9dpq4GwPe1qzkv2f
=> `4234567890.jpg'
Resolving hogefuga.tumblr.com... 174.120.238.130
Connecting to hogefuga.tumblr.com|174.120.238.130|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://s3.amazonaws.com/data.tumblr.com/tumblr_l9dpq4GwPe1qzkv2fo1_1280.jpg?AWSAccessKeyId=0RYTHV9YYQ4W5Q3HQMG2&Expires=1285660803&Signature=Hv1P9nHh0352LhGPGaQaNN1FQ%2FE%3D [following]
--17:00:04-- http://s3.amazonaws.com/data.tumblr.com/tumblr_l9dpq4GwPe1qzkv2fo1_1280.jpg?AWSAccessKeyId=0RYTHV9YYQ4W5Q3HQMG2&Expires=1285660803&Signature=Hv1P9nHh0352LhGPGaQaNN1FQ%2FE%3D
=> `4234567890.jpg'
Resolving s3.amazonaws.com... 207.171.185.129
Connecting to s3.amazonaws.com|207.171.185.129|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 305,133 (298K) [image/jpeg]

100%[========================================================>] 305,133 90.62K/s ETA 00:00

17:00:08 (90.45 KB/s) - `4234567890.jpg' saved [305133/305133]

--17:00:08-- http://hogefuga.tumblr.com/photo/1280/3234567890/1/tumblr_l9br9d9oee1qz53a8
=> `3234567890.jpg'
Resolving hogefuga.tumblr.com... 174.120.238.130
Connecting to hogefuga.tumblr.com|174.120.238.130|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://s3.amazonaws.com/data.tumblr.com/tumblr_l9br9d9oee1qz53a8o1_1280.jpg?AWSAccessKeyId=0RYTHV9YYQ4W5Q3HQMG2&Expires=1285660808&Signature=K56z7OPLNVrTqVimssWfxbqkwK0%3D [following]
--17:00:08-- http://s3.amazonaws.com/data.tumblr.com/tumblr_l9br9d9oee1qz53a8o1_1280.jpg?AWSAccessKeyId=0RYTHV9YYQ4W5Q3HQMG2&Expires=1285660808&Signature=K56z7OPLNVrTqVimssWfxbqkwK0%3D
=> `3234567890.jpg'
Resolving s3.amazonaws.com... 207.171.185.129
Connecting to s3.amazonaws.com|207.171.185.129|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 344,971 (337K) [image/jpeg]

100%[========================================================>] 344,971 91.00K/s ETA 00:00

17:00:12 (90.82 KB/s) - `3234567890.jpg' saved [344971/344971]

--17:00:12-- http://hogefuga.tumblr.com/photo/1280/2234567890/1/tumblr_l9ct7mdAnh1qzkv2f
=> `2234567890.jpg'
Resolving hogefuga.tumblr.com... 174.120.238.130
Connecting to hogefuga.tumblr.com|174.120.238.130|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://s3.amazonaws.com/data.tumblr.com/tumblr_l9ct7mdAnh1qzkv2fo1_1280.jpg?AWSAccessKeyId=0RYTHV9YYQ4W5Q3HQMG2&Expires=1285660813&Signature=aENxCzkCpj7Lw3vyW8YlQinEFs8%3D [following]
--17:00:13-- http://s3.amazonaws.com/data.tumblr.com/tumblr_l9ct7mdAnh1qzkv2fo1_1280.jpg?AWSAccessKeyId=0RYTHV9YYQ4W5Q3HQMG2&Expires=1285660813&Signature=aENxCzkCpj7Lw3vyW8YlQinEFs8%3D
=> `2234567890.jpg'
Resolving s3.amazonaws.com... 207.171.185.129
Connecting to s3.amazonaws.com|207.171.185.129|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 857,345 (837K) [image/jpeg]

100%[========================================================>] 857,345 106.25K/s ETA 00:00

17:00:22 (105.12 KB/s) - `2234567890.jpg' saved [857345/857345]

--17:00:22-- http://26.media.tumblr.com/tumblr_l9994fEUV01qz90kto1_400.jpg
=> `1234567890.jpg'
Resolving 26.media.tumblr.com... 68.232.44.19
Connecting to 26.media.tumblr.com|68.232.44.19|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 70,554 (69K) [image/jpeg]

100%[========================================================>] 70,554 67.05K/s

17:00:23 (66.98 KB/s) - `1234567890.jpg' saved [70554/70554]

するとこんな感じで「"記事ID".jpg」で保存される。

$ ls -l
total 3232
-rw-r--r-- 1 70554 9 24 23:19 1234567890.jpg
-rw-r--r-- 1 857345 9 26 21:26 2234567890.jpg
-rw-r--r-- 1 344971 9 26 07:46 3234567890.jpg
-rw-r--r-- 1 305133 9 27 09:08 4234567890.jpg
-rw-r--r-- 1 58936 9 26 19:09 5234567890.jpg
-rw-r--r--@ 1 407 9 27 16:50 URL.txt

メデタシメデタシ。

« 千葉市科学館で親子で作る2モータリモコン自由工作ロボット教室 | トップページ | 9月の読書まとめ »

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

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

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

コメント

コメントを書く

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

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

トラックバック

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

この記事へのトラックバック一覧です: 任意のtumblrのPictureだけを一括ダウンロードしてハァハァするJavaScript版:

« 千葉市科学館で親子で作る2モータリモコン自由工作ロボット教室 | トップページ | 9月の読書まとめ »

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/

なかのひと

あわせてよみたい

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

みんぽす