Rails - 用于从其他网站下载文件的gem

时间:2015-05-18 09:46:03

标签: ruby-on-rails

我目前正在开发Rails应用。 我想访问一个网站(http://alt19.com/)并选择一组选项,然后单击一个按钮,触发下载CSV文件。然后我想拿起文件并解析它。

我找到了一个用于解析CSV文件的gem。 但是,我不知道是否有一个宝石用于导航到另一个网站,选择一组选项,下载几个文件并将其保存在我的应用程序可以处理它们的地方。

有这样的事吗? 如果没有,有没有替代解决方案?

2 个答案:

答案 0 :(得分:1)

您可以使用mechanize gem来废弃该页面。 Mechanize使用nokogiri作为负责抓取的依赖项之一,机械化增加了点击页面元素的功能。

答案 1 :(得分:0)

正如您所看到的,CSV发生器发布了一些带有参数的帖子。 用#net; net / https'做同样的事情。和' open_uri'

示例:

require "uri"
require "net/http"

params = {'box1' => 'Nothing is less important than which fork you use. Etiquette is the science of living. It embraces everything. It is ethics. It is honor. -Emily Post',
'button1' => 'Submit'
}
x =         Net::HTTP.post_form(URI.parse('http://www.interlacken.com/webdbdev/ch05/formpost.asp'), params)
puts x.body

示例来源:Submitting POST data from the controller in rails to another website