解析链接数组并使用Ruby下载它们

时间:2012-07-28 13:55:10

标签: ruby mechanize

  

可能重复:
  How do I download a binary file over HTTP using Ruby?

我有一个名为pdf_links的数组,其中包含指向Mechanize gem收集的PDF文件的链接。

http://site/file1.pdf
http://site/file2.pdf
http://site/file3.pdf
http://site/file4.pdf
http://site/file5.pdf
http://site/file6.pdf
http://site/file7.pdf

我需要将所有PDF文件保存到我的目录中。

使用Ruby的最佳方法是什么?

我尝试使用* nix字符串,但我收到错误:

pdf_links.each do |d|
    system %x{ wget #{d} }
end

2 个答案:

答案 0 :(得分:3)

机械化中有一个存储方法

Save WWW::Mechanize::File to disk using FileUtils

http://mechanize.rubyforge.org/Mechanize/File.html#method-i-save

或者您可以使用ruby lib'open-uri'

 require 'open-uri'
 pdf_links.each do |link|
  File.open(file_path_to_store, 'wb') {|f| f.write(open(link).read)}
 end

答案 1 :(得分:2)

机械化可以做到:

agent.get(d).save