我浏览了文档Mechanize。以下仅适用于.pdf
。
require 'mechanize'
agent = Mechanize.new
agent.pluggable_parser.pdf = Mechanize::FileSaver
agent.get 'http://example.com/foo.pdf'
答案 0 :(得分:2)
像这样保存文件可能更直接:
File.open('myfname.pdf', 'wb'){|f| f << agent.get('http://example.com/foo.pdf').body}
答案 1 :(得分:1)
文件类型无关紧要;任何可通过网络访问的文件都可以通过mechanize获得,这是一个自动与Mechanize交互的工具。
该文件将存储在运行程序的目录中。使用Mechanize::Download代替Mechanize::FileSaver
来指定文件的下载位置。此处的示例代码:https://stackoverflow.com/a/9105153/429758(指定文件名中的完整路径)
Mechanize在下载时不使用浏览器。 For all intents and purposes, Mechanize acts like a web browser with no user interface
通过http://ruby.about.com/od/tasks/a/The-Mechanize-2-0-Handbook.htm
请查看EXAMPLES page on mechanize documentation以获取有关如何使用机械化的更多示例。