2

我浏览了文档Mechanize。以下仅供.pdf参考。

require 'mechanize'

agent = Mechanize.new
agent.pluggable_parser.pdf = Mechanize::FileSaver
agent.get 'http://example.com/foo.pdf'
  1. 但是我也可以下载 .docx,.xlsx,.txt 文件吗?
  2. 当文件下载完成时,它的默认目录是什么?我们也可以更改保存文件目录吗?
  3. 下载时会选择哪个浏览器?我们也可以更改浏览器控件吗?
4

2 回答 2

2
  1. 文件类型无关紧要;任何可以通过网络访问的文件都可以通过 mechanize 获得,它是一个与 Mechanize 进行自动化交互的工具。

  2. 该文件将存储在程序运行的目录中。使用Mechanize::Download而不是Mechanize::FileSaver指定文件应下载到的位置。此处的示例代码:https ://stackoverflow.com/a/9105153/429758 (在文件名中指定完整路径)

  3. 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

请查看 mechanize 文档上的示例页面以获取有关如何使用 mechanize 的更多示例。

于 2013-01-21T10:03:09.280 回答
2

像这样保存文件可能更简单:

File.open('myfname.pdf', 'wb'){|f| f << agent.get('http://example.com/foo.pdf').body}
于 2013-01-22T00:43:00.913 回答