あめみか

「雨はいつもわたしのみかた。」 … 思想・哲学・世迷言からイラストまで、多岐にわたってたいへんくつに綴っています。

もう失敗させない!はてなフォトライフの画像を簡単にまるごとダウンロードする方法!!

Windowsユーザーのための事前準備

※すでにLinuxやUNIX、あるいはwgetとgrepが利用できる環境にある方で「はてなフォトライフにある画像をすべてお手軽にダウンロードする方法」を「説明はいいから要点だけ教えて」という方はこちらへお進みください。

 

 気にせずブログに貼り付けてきた画像を圧縮するため

 あるいはなにかあったときの保険のため。

 はたまた「はてなブログ」から他のブログサービスへ移転しようとおもい、ブログデータをエクスポートしたいのだけれども、「はてなブログ」では画像データが「はてなfotolife」に入っているのでそれを一括ダウンロードしたいのだけれども…

 理由はいろいろございましょうが、これまではてなブログに投稿し「はてなフォトライフにアップロードされた画像を一括お手軽にすべてダウンロードしたい!」と願っておられる方はあんがい多いのではないかとおもいます。

 

 そこで一括ダウンロードについて調べてみますといくつかの方法が紹介されています。

 しかしそのほとんどが、たしかにその方法で一括ダウンロードはできるのですが、異常にめんどうな手動操作があったり、「おっ!これは操作すくなくてラクできそう」とおもったのに実際試してみるとうまくいかなかったり、初心者には敷居が高くて手がでなかったりします。

 

wgetとgrep使えますか?

 これからご紹介する方法は初心者にもやさしくお手軽なものです。

 ただしLinuxやUNIXあるいはwgetとgrepを利用できる環境にある方限定の方法です。

 残念ながらWindowsユーザーはそのままではご利用いただけません。

 しかしご安心ください。そのままでは不可能でもwgetとgrepを利用できる環境は簡単に構築できます。

 

Windowsでwgetとgrepを使えるようにする方法

 Windowsでwgetとgrepを使えるようにする方法はいろいろあります。

 たとえばVMwareやVirtualBoxをインストールして、仮想マシンとしてUNIXやLinuxをWindows上で動かすといった方法があります。

 しかしこれですとWindowsと仮想マシンの間でデータのやりとりができなかったり、またそれをできるようにするのにいろいろ設定しなければならなかったりして、めんどう。

 

 そこで、おそらくもっとも簡単なのではないかとおもわれる方法をご紹介します。

 その方法とは…こちらをご参照ください。

 どちらか一方だけではダメですよ。両方必要ですから、両方インストールしてください。

 

【Windowsでwgetを使えるようにする方法はこちら↓】

 

【Windowsでgrepを使えるようにする方法はこちら↓】

 

 どちらも画像入りで丁寧に紹介されておりますので蛇足ではございますが、以下にテキストベースで手順を示しておきます。

 

【Windows版wgetをインストール】

 

  1. 「PC」あるいは「マイコンピュータ」アイコン→「Windows(C:)」→右クリック→「新規作成(X)」→「フォルダー(F)」→名前を「Tools」にする。[要はC直下に「Tools」という名前のフォルダ(C:¥Tools)をつくってくださいということ]
  2. このサイト(http://gnuwin32.sourceforge.net/packages/wget.htm)の「Download」-「Description」にある「Binaries」と「Dependencies」の2つのzipファイルをダウロードして解凍
  3. 生成された「wget-1.11.4-1-bin」フォルダを先ほどつくった「Tools」フォルダにドラッグでもコピペでもなんでもいいのでうつす
  4. うつした「wget-1.11.4-1-bin」フォルダの名前を「wget」に変える
  5. 名前を変えた「wget」フォルダを開き、そのなかの「bin」フォルダを開く
  6. 次に「wget-1.11.4-1-dep」フォルダを開き、その中にある「libeay32.dll」「libiconv2.dll」「libintl3.dll」「libssl32.dll」の4つのファイルを先ほどの「bin」フォルダ「C:¥Tools¥wget¥bin」にドラッグでもコピペでもなんでもいいのでうつす
  7. 「PC」あるいは「マイコンピュータ」アイコンを右クリック→「プロパティ(R)」→システムのウインドウが開くのでその中の「システムの詳細設定」→システムのプロパティのウインドウが開く
  8. システムのプロパティの「環境変数(N)…」→「システム環境変数(S)」欄から「Path」を選択し「編集(I)…」ボタンを押す
  9. システム変数名の編集のウインドウが開くので、「テキストの編集(T)…」ボタンを押す
  10. システム変数の編集のウインドウが開くので、「変数値(V):」の欄の一番最後に「;C:¥Tools¥wget¥bin」を入力して加える
  11. あとは開いたウインドウを「OK」ボタンを押して閉じていく

 

 これでWindowsでwgetが使えるようになっている予定。

 

【Windows版grepをインストール】

 

  1. このサイト(http://gnuwin32.sourceforge.net/packages/grep.htm)の「Download」-「Description」にある「Complete package, except sources」のSetupファイルをダウロードしてインストール

 

 インストール先などを変えていなければ、通常はこれだけでWindowsでgrepが使えるようになっている予定。

 もしインストール先などを変えていたり、grepが動かないようであれば、wgetの環境変数を変えたときのように、環境変数の「Path」にインストールしたgrepのファイルパス(おそらく「C:¥Program Files¥GnuWin32¥bin」)を加えてください。

 

ひるまないで!

 これでWindowsユーザーのみなさまもwgetとgrepが使えるようになりました。ここまできたら折り返し地点です。

 

 ここからは抵抗感をもたれている方もあるかもしれないコマンドプロンプトを使います。コマンドプロンプトはおそらく画面左下のWindowsボタンを右クリックすると「コマンドプロンプト(C)」というのがあるとおもいますので、そちらを選択してください。

 

 ウインドウが開きますといかにも「コマンド打ち込まなければならないのかぁ…」感の漂う画面が現れたとおもうのですが、その通り、打ち込んでいただきます。でもご安心ください。今回はほぼコピペだけですみますから。

 

wgetとgrepで一括お手軽ダウンロード

 Linuxあるいはwgetとgrepを利用できる環境にある方であればおそらくこちらの方法がもっとも参考になるでしょう。

 ですからまずはこちらをお試しください。

 これでうまくいけば話はここでおわりです。

 「はてなブログに投稿した画像を全てダウンロードする」方法を紹介してくださっているサイトのご紹介でした。

 

簡単!「wgetで一括ダウロード」の3ステップ!!

 こちら↑のサイトで紹介されているわずか3ステップの手順通りにコードをコピペして実行してみますと、ちゃんと画像が一括ダウンロードされます。

 その3ステップというのはこちらです。こちらのステップをLinuxユーザーはターミナル(「terminal」「端末」)で、Windowsユーザーはコマンドプロンプトで順に実行してみてください。各自で変えなければならないところは【はてなID】のところだけです。

  1. wget http://f.hatena.ne.jp/【はてなID】/Hatena%20Blog/rss
  2. grep "http\:\/\/cdn-.*png\|http\:\/\/cdn-.*jpg" -o rss > photo.txt
  3. wget -i photo.txt -nc --random-wait

※Windowsユーザーは手順1により「rss」という名前のファイルではなく「index.html」(←拡張子を表示する設定にしている場合)という名前のファイルが生成されるとおもいます。ですからこの「index.html」というファイル名を「rss」(拡張子の「.html」まで消そうとすると「ファイルが使えなくなる可能性があ」るとエラーがでますが、気にせず変えてしまってもいいですし、気になる方は「rss.html」とされてもどちらでもいいとおもいます。わたしの場合はどちらでもいけました)と変えてから残りの手順2・3を行うか、「index.html」の名前は変えないのであれば、手順2のrssとなっているところを「index.html」と書き換えて実行してください。

 

 このコードでなにをしているのかを簡単に説明しますと

 

  1. はてなフォトライフにある画像データのRSSのソースコードを「rss」という名前で保存
  2. 「rss」(「index.html」)ファイルに記述されている文字列の中から「png」と「jpg」を含む文字列(画像データのURL)だけを抽出して「photo」という名前で保存
  3. 「photo」ファイルに記述されているURLの画像データをダウンロード

 

※おわかりかとはおもいますが、手順2の「rss」は抽出対象となるファイルを、「photo」は抽出したデータを保存するときのファイル名を指定しています。

 

これでうまくいくはずなのに…

 これでめでたく目的は達せられる…はずなのですが、なぜか見ず知らずの他人様の画像で「あたしんのじゃない」現象が起きます。

 どうですか?コピペしただけなのになぜかうまくいかなかったという方いらっしゃいませんか?わたしははじめubuntuで試してみたのですがうまくいきませんでした。

 

 次の項では、うまくいかなかった方のために、どこがうまくいかないところなのか?それはどのように確認すればよいのか?ということを示しましたうえで、それを解決する代替案をご紹介します。

 

うまくいかなかった人のための解決策

 うまくいかなかった原因を探ってみますと、それはファーストステップにありました。

 ファーストステップにより「rss」というファイルがホームフォルダに生成されますが(WindowsユーザーはおそらくC直下のユーザーファイルあたりに「index.html」ができているかな?場所がわからなければ「index」でファイル検索してみてください)、そちらをダブルクリックしてみてください。

 するとテキストエディタがたちあがりrssサイトのソースコードが表示されるか、あるいはブラウザがたちあがり、はてなフォトライフのページが表示されるでしょう。

 

 ソースコードに指定した【はてなID】が記述されている場合、あるいはrssフィールドに指定した【はてなID】の画像が表示された方。この方はそのまま残り2ステップを進んでください。うまくダウンロードできます。

 

 ソースコードに見慣れぬ【はてなID】が記述されている場合、あるいは、はてなフォトライフのトップページが表示された方。残念ながらこのままステップを踏んでも「あたしんのじゃない」現象を起こすこと必至です。

 

指定した【はてなID】かどうかを確認する

 先ほどrssファイルを選択したらテキストエディタが開き、ソースコードが表示された方はそのままで結構です。少々お待ちください。

 先ほどrssファイルを選択したらブラウザが立ち上がりはてなフォトライフが表示された方は、まずそのページで右クリックして「ページのソースを表示(V)」(←Chrome日本語版の場合)をおしてソースコードを表示させてください。これで確認の下準備が終了です。

 

 ひとによっては色無しのモノクロになっているかもしれませんが、この↓ようなソースコードが表示されているとおもいます。

RSSファイル内のはてなIDの確認してほしいところ

 指定した【はてなID】かどうかを確認するには「ここ!」と赤枠で囲まれたところをご覧ください。指定した【はてなID】と同じですか?同じであれば問題ありません。異なっている方は「ここ!」に表示されているIDの方の画像をダウンロードしていたのです。

 つまりうまくいかなかった原因は、指定した【はてなID】のはてなフォトライフのURLではなかったからなのです。

 

 確認できましたところで、次に解決法を提示いたします。

 

こうすればうまくいくよ。代替案の発表です。

 まずは「はてなフォトライフ」にログインしてください。

 

 わずかログインするだけでうまくいく場合がありますので、ここでさきほどのファーストステップを試してみられるのもよいでしょう。

※さきほど生成されたrssファイルを消していない場合は「rss1」が生成されるかもしれませんので、そちらをご確認ください。うまくいきそうであれば「rss」ファイルを削除してから「rss1」を「rss」と名前を変更するか、手順2の「rss」を「rss1」と書き換えて、残り2ステップを踏んでみてください。

 

 ログイン後にファーストステップを踏んでもうまくいかなかった方は、

http://f.hatena.ne.jp/【はてなID】/Hatena%20Blog/rss

をブラウザで表示させてください。もちろん【はてなID】のところはご自身のIDとさしかえてくださいね。

 表示されましたら、そこに記述されている【はてなID】を確認します。

 

 指定した【はてなID】と異なる場合は、より確実な方法でいきますね。

 まずは、はてなフォトライフにログインします。

 ログインしましたら右サイドバーにある①の「Hatena Blog」をおしてください。すると左側にこのように画像が表示されます。(この画像↓は①の「Hatena Blog」を選択した後のもので、はじめから画像が表示されているわけではありません。)

はてなフォトライフでRSSを表示させるところ

 続いて②の「RSS」をおしてください。

 これで晴れて間違いなくご自身の【はてなID】の画像rssソースコードが表示されます。

 

 そうしましたら、その間違いのないソースコードを「Ctrl+A」&「Ctrl+C」なりで全選択&コピーします。

※↑では15ページあるなかの1ページ目しか表示されていないので「これですべての画像がダウンロードできるのか?1ページ目だけなんじゃあないの?」と不安になられるかもしれませんが、安心してください。ソースコードの方には全ページの画像URLが記述されていますからちゃんとすべてするっとまるごとダウンロードできます!

 

 次いで、先ほど生成された「rss」ファイルが残っている場合は、それをテキストエディタで開き、「Ctrl+A」&「Ctrl+V」なりで全選択&ペーストします。(←「rss」に書かれていたものをすべて消して、先ほどコピーしたものを貼り付けていただければ方法はどうでもいいです)

 「rss」ファイルがない場合はテキストエディタを開き、先ほどコピーしたソースコードをそこに貼り付け、「rss」という名前でホームフォルダに保存してください。

 

 ここまでできましたらあとは残り2ステップ踏んでいただければ、ホームフォルダに指定した【はてなID】のはてなフォトライフにある画像がすべてダウンロードされます。

 

最終手段。使いたくない奥の手。

 これでもうまくいかなかった場合はセカンドステップに問題があるとおもわれます。

 それを確認するには、セカンドステップ後、おそらく先ほど「rss」ファイルが生成されたところに新たに「photo」ファイルが生成されているとおもいますので、それをテキストエディタで開いてみてください。なにも書かれていないか、ズラーッと居並ぶ画像のURLに、指定した【はてなID】ではないIDが記述されているのではないかとおもわれます。

 

 またファーストステップから試してみたりしてもうまくいかない場合は、手間はかかりますが最終手段です。

 「はてなフォトライフ」の「RSS」からソースコードをコピーするところまではおなじです。そうしましたら今度は「rss」ファイルではなく「photo」ファイルにそれを貼り付けます。

 そしてここから骨を折っていただきます。貼り付けたソースコードのなかから画像URL以外、つまり「png」と「jpg」の含まれていない文字列をすべて手動で消して上書き保存してください。

 その後サードステップを踏んでいただければ、さすがにこれでうまくいくでしょう。

 

みなさんが手こずる前にあらかじめわたし手こずっておきました

 はてなフォトライフにある画像をすべてダウンロードしようと四苦八苦。

 どうしてもうまくいかず、はじめに「使いたくない奥の手」を使ってどんよりちまちまダウンロードしました。

 こうして目的は達せられたのですが、どうも気にかかり、その後もいろいろ試してみたのです。

 今回ここでご紹介しました方法はすべてわたくし試しました再現性の高いものでございます。こんな経緯もあってか、少々丁寧すぎてわずらわしさの漂う説明になってしまったことはいなめません。

 ただこれにより、わたしよりもパソコンに不慣れな方にも利用できる情報となっているのではないかと信じております。

 

 みなさまには最短距離を行っていただきたいとおもいます。

 もしもここで紹介したあらゆる方法をもってしてもうまくいかなかったときは、そのときはあきらめてください

 

 どうかみなさまは苦しまずに、するっとすぱっと迅速に目的を達せられることを願っております。

確実な手順

 よけいな説明が多く見づらいと思われる方もあるかと思いますので、最後に、はてなフォトライフの全画像を最短ではないかもしれないけれど確実にダウンロードできる手順を記しておきます。

※wgetとgrepは使える状態にしたところからの手順となります。

 

  1. ターミナルorコマンドプロンプトを開き「wget http://f.hatena.ne.jp/【はてなID】/Hatena%20Blog/rss」を打ち込むなりコピペ(「Ctrl+C」&「Ctrl+V」)するなりして実行。
  2. 生成されたrssファイルをテキストエディタで開いてそのまま放置。(指定した【はてなID】であれば手順8に進む)
  3. 「はてなフォトライフ」にログインする。
  4. 右サイドバーにある「Hatena Blog」を選択。
  5. 画面左上にある「RSS」ボタンを押す。
  6. 表示されたソースコードを全選択&コピー(「Ctrl+A」&「Ctrl+C」)
  7. 手順2で放置しておいたファイルを全選択しコピーしたものを貼り付けて(「Ctrl+A」&「Ctrl+V」)保存する。
  8. ターミナルorコマンドプロンプトで「grep "http\:\/\/cdn-.*png\|http\:\/\/cdn-.*jpg" -o rss > photo.txt」を打ち込むなりコピペして実行。
  9. 続いて「wget -i photo.txt -nc --random-wait」を打ち込むなりコピペして実行。

 

おしまい。

 

こちらもいかが?