Twitpicの画像を一括ダウンロードするスクリプトが動かなかったのでクイックハックした

ふーん。まぁ何だかんだ大丈夫やろって思って油断してたけど、本当に終了なのか。

自分のtwitpicに関しては正直なんの関心もないけど、日高里菜ちゃんのアカウントだけは守らねば。

twitterが乗っ取られてしまった現在、twitpicとかyfrogとかだけがインターネットに残された貴重な記録だったのになあ。

Twitpic / rina_hidaka

適当に "twitpic 保存" とかで検索すると当然ながら既存のモノがあるので使わせていただこう。

下のシェルスクリプトにしよう。

と思ったけど、何やらうまく動かないのでちょっといじった。他のは知らんが日高里菜ちゃんのアカウントは保存できたのでよしとしよう。

変更点は以下の2箇所。やっつけ感。

  1. 最終ページの取得方法を変更(たぶんtwitpicのデザイン変更による影響だと思うけど)
  2. curlが何故かエラー22だけを決め打ちでリトライしていたので正常終了以外は全部リトライ

100万年ぶりにgist使った。

https://gist.github.com/kkobayashi/e50b3869f4dc91cf725e

スクリプトだと自分でちょこちょこ直せるのがよいね。でも俺シェルスクリプト読むの嫌いだけどね。

$ diff twpicdl.sh twpicdl_dbg.sh
52,54c52,55
< LAST=`curl http://twitpic.com/photos/${TP_NAME} \
<   | grep "<a href=.*>Last<" \
<   | sed "s/.*\?page=\([0-9]*\).*/\1/"`
---
> #LAST=`curl http://twitpic.com/photos/${TP_NAME} \
> #  | grep "<a href=.*>Last<" \
> #  | sed "s/.*\?page=\([0-9]*\).*/\1/"`
> LAST=`curl http://twitpic.com/photos/${TP_NAME} | grep "<a href=.*?page=" | grep -v Next | sed "s/.*\?page=\([0-9]*\).*/\1/" | tail -1`
78c79,80
<     if [ $? -eq 22 -a $RETRY -le $MAXRETRY ]; then
---
> #    if [ $? -eq 22 -a $RETRY -le $MAXRETRY ]; then
>     if [ $? -ne 0 -a $RETRY -le $MAXRETRY ]; then
110c112,113
<       if [ $? -eq 22 ]; then
---
> #      if [ $? -eq 22 ]; then
>       if [ $? -ne 0 ]; then
133c136,137
<         if [ $? -eq 22 ]; then
---
> #        if [ $? -eq 22 ]; then
>         if [ $? -ne 0 ]; then

追記

などと言ってるうちにtwitpic自体が写真の公開を停止してるようで。午前中にクロールして、昼食後にそろそろ自分のアカウントもダウンロードしておくか・・・って思ったら写真が見られなくなってた。わろす。ギリギリのタイミングだったんだなー。