我浏览了Mechanize文档。以下仅针对.pdf
。
require 'mechanize'
agent = Mechanize.new
agent.pluggable_parser.pdf = Mechanize::FileSaver
agent.get 'http://example.com/foo.pdf'
- 但是我也可以下载。docx,。xlsx,。txt文件吗?
- 当文件下载完成时,它的默认目录是什么?我们也可以更改保存文件的目录吗?
- 下载时会选择哪个浏览器?我们也可以改变浏览器控件吗?
-
文件类型不重要;任何可通过网络访问的文件都可以通过mechanize获得,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
via http://ruby.about.com/od/tasks/a/The-Mechanize-2-0-Handbook.htm
一定要查看mechanize文档中的EXAMPLES页面,以获得关于如何使用mechanize的更多示例。
这样保存文件可能更直接:
File.open('myfname.pdf', 'wb'){|f| f << agent.get('http://example.com/foo.pdf').body}