1

可能重复:
如何使用 Ruby 通过 HTTP 下载二进制文件?

我有一个名为的数组,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 做 |d|
    系统 %x{ wget #{d} }
结尾
4

2 回答 2

3

mechanize中有一个save方法来存储它

使用 FileUtils 将 WWW::Mechanize::File 保存到磁盘

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
于 2012-07-28T14:12:21.773 回答
2

机械化可以做到:

agent.get(d).save
于 2012-07-28T14:06:25.333 回答