Rubyで画像をダウンロードする方法【+ファイルに保存する方法】

Not image

「Rubyのスクリプトで、ネット上の画像をダウンロードできないかな・・・」とふと思ったので、今回はその方法をまとめていこうと思います。

さらにやることを明確化すると、ネット上の画像をダウンロードし、それをファイルに保存するという流れになります。

今回は「open-uri」というRubyの標準ライブラリを使って、画像のダウンロードをしていこうと思います。

Rubyには、HTTPにアクセスする標準ライブラリに「net/http」というものもありますが、今回はより簡単に実装できる「open-uri」を使っていこうと思います。

画像のダウンロードについて

画像のダウンロードについては著作権の問題がありますので、アクセス先のサイトの規約を読み、規約に則ってスクリプトを実行してください

また、スクリプトを実行したことにより発生した著作権侵害問題については、当サイトは責任を持てません。

インターネットを正しく・楽しく・美しく使うため、ルールは守りましょう。よろしくお願い致します。

それでは手順を説明していこうと思います!

Rubyで画像をダウンロードしファイルに保存する方法

スクリプトを作成

そんなに難しくないスクリプトなのでサクッと、作っていきましょう。

以下のスクリプトをご覧ください。

スクリプトの説明

スクリプトの説明をしていきます。

requireで標準ライブラリ「open-uri」を使えるようにする。

「hoge.jpg」というファイルにダウンロードしてきた画像を保存しようと思うので、用意します。

ファイルを開くときのオプションは、「wb」に指定します。

「w」は、ファイルがない場合、新規でファイル作成し書き込みモードという指定です。上書き保存です。

「b」というオプションが、画像を保存するときのポイントで、バイナリ形式で開き保存することができます。

readメソッドでダウンロードしてきた画像データを、ファイル「hoge.jpg」にバイナリ形式で保存しています。

まとめ

ここまで、ネット上にある画像に「open-uri」でサクッとアクセスして、ダウンロードしてくる方法をまとめてみました。

ネット上にあるテキストは、アクセスしてデータを取ってくることはあっても、画像をダウンロードというのはあまり無いのでは?

まあ、一回やってしまえばテキストを取ってくる時と、さほど変わらないことがお分かりになったでしょう。

今回のポイントは、ファイルをバイナリ形式に指定して開くことでした。

ここまで読んでいただき、ありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です