Rubyで、 Opne3curl を使用して、フォルダー指定でファイルをダウンロードする方法です。

大量のファイルをループでダウンロードする場合は、 Parallel を使って同時に複数起動すると良いです。


下記の例は、5個のスレッドで、ドライブレターもEドライブに変更して実行する例です。

require 'open3'
require 'parallel'

out_dr = "OUT/GETV"
urls = ["urla","urlb","urlc","urld",,,,]

Parallel.each_with_index(urls, in_threads: 5){ |uu, ii|
  pp "#{ii+1}/#{urls.size} w[#{Parallel.worker_number}]"
  cmd = "E: && cd #{out_dr} && curl \"#{uu}\" -O"
  Open3.popen3(cmd)
}
2022/08/09