seizemu's diary

ぶろぐ

指定したurlのバイナリファイルを保存するRubyスクリプト

 はい、こんにちは。

 バイナリファイルを自動的にダウンロードしたいと思い、ヤッつけで書いてみました。

 ちなみに、自動化はまだ出来ていません。なのでほんとにダウンロードするだけです。

 ソース中にURLをコピペで指定するようになってます。

 

 実際にダウンロードできるか確かめるために画像を使ったのでスクリプトのファイル名がimage_download.rbになってますが他の形式のファイルでも使えると思います。

書いてみて勉強になったことや驚いたこと

  • open-uri便利すぎる!
  • splitメソッド便利すぎる!
  • こんな書き方でもいけるの?!?!

 open-uriというライブラリを読み込むことでURLでファイルを指定することができます。便利ですねー。

 最初URLからファイル名を抜き出すためにrindexメソッドで最後の"/"の位置を割り出して、その位置からファイル名だけをとり出そうと思ってたんですがsplitメソッドのおかげで一発!!便利ですねー

 それで一番驚いたのがコードの6行目でsplitメソッドで分割した文字列をその場で指定して変数に代入できたこと!こんな書き方もできるんですねー。もしやと思ったら出来ました。ほほーーーーー

 

力不足

 このスクリプトには同じファイルがあった場合にどうするかとか例外が出た時にどうするかとか書いてないです。なので書き足さなければ。

 あとググったらこんな記事がRuby - ファイルをWebからダウンロードして保存する - Qiita

 めっちゃ短い。そして綺麗。えっ、basenameメソッド!?!?。ブロック使ってる。ははーーー

 ってことで参考にするならリンク先の方がいいとおもいます。

 まあ、勉強になったからよしとしよう!!!