2013-01-03 96 views
0

我正在尝试使用国家气象部门的数据创建雷达动画。对于静态图像,通过始终具有相同的文件名,它们变得很容易。但是,对于历史图像,它们是时间戳的,并且始终在变化。因此,要获得之前的N张图像,您必须事先知道文件名。但是,他们提供了一个目录,为每个网站提供列表。看到这里的例子: http://radar.weather.gov/ridge/RadarImg/N0R/FWS/使用Ruby/Rails从Apache索引页获取文件列表

我需要从我的Rails应用程序提取该目录中的最后N个图像。那可能吗?我可以想象一个选择将是下载,然后刮那个页面,但我认为有更好的方法?

谢谢!

+0

你写了什么代码来解决这个问题?我们需要看到这一点,以及对收到的错误的描述,以及错误地描述你所写的内容。没有这个,你的问题可能会被认为是“不是真正的问题”。 –

回答

2

从以下上面你可以尝试像我刚才在控制台试过..

require 'open-uri' 
require 'nokogiri'  
doc = Nokogiri::HTML(open('http://radar.weather.gov/ridge/RadarImg/N0R/FWS/')) 
doc.xpath('//table/tr/td').each do |tabrow| 
    puts tabrow.content 
end 

这是在黑暗中一个非常基本的刺,但应该给你回味无穷,让你在路上

1

你必须使用像curb这样的库下载它们,使用诸如Nokogiri之类的东西解析页面,然后使用适合你的最适合的工具来组合图像。

Rails旨在处理Web请求,而不是作为后台作业运行,但有些工具可以帮助您实现此目的,或者您始终可以使rails runner的脚本在Rails环境中执行。