使用 Ruby 机械化下载文件

Download File with Ruby Mechanize

我正在尝试使用 mechanize 保存文件。我包含的脚本使我能够下载名称正确但没有内容的文件。关于我可能做错了什么的任何想法?这是我正在使用的资源。

http://www.rubydoc.info/gems/mechanize/Mechanize/File

任何帮助都会很棒!谢谢!

require 'mechanize'

uri = URI 'http://website.com/page.html'
file = Mechanize::File.new uri, nil, ''
filename = file.save
puts filename
mecha = Mechanize.new
file = mecha.get(uri)
filename = file.save

您不应该构建 File 对象,因为它是空的。它旨在由 Mechanize 在获取对象时构建。

我还没有看到它以这种方式使用。通常你需要创建一个代理,然后发出 get。

试试这个

require 'rubygems'
require 'mechanize'

uri = URI 'http://website.com/page.html'
agent = Mechanize.new
file = agent.get uri

filename = file.save  # saves to page.html
puts filename         # page.html