我可以使用Mechanize下载带.docx和.xlsx,.txt扩展名的文件吗?

时间:2013-01-21 09:10:55

标签: ruby mechanize mechanize-ruby

我浏览了文档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. 下载时会选择哪个浏览器?我们还可以更改浏览器控件吗?

2 个答案:

答案 0 :(得分:2)

像这样保存文件可能更直接:

File.open('myfname.pdf', 'wb'){|f| f << agent.get('http://example.com/foo.pdf').body}

答案 1 :(得分:1)

  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

  4. 请查看EXAMPLES page on mechanize documentation以获取有关如何使用机械化的更多示例。