我正在尝试使用国家气象局的数据创建一个雷达动画。对于静态图像,它们总是具有相同的文件名,这使得它很容易。然而,对于历史图像来说,它们是有时间戳的,并且总是在变化。因此,要获得前N个图像,您必须事先知道文件名。但是,它们确实提供了一个目录,其中提供了每个站点的列表。请看下面的例子:http://radar.weather.gov/ridge/RadarImg/N0R/FWS/
我需要的是从我的Rails应用程序提取的最后N个图像从该目录。这可能吗?我可以想象一个选择是下载,然后刮页,但我假设有一个更好的方法?
谢谢!
根据上面的内容,您可以尝试像我刚才在控制台中尝试的那样。
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
这是一个非常基本的暗算,但应该给你思考的食物,让你在路上
你必须使用像curb
这样的库下载它们,用Nokogiri之类的东西解析页面,然后使用任何最适合你的工具组合图像。
Rails是为处理web请求而设计的,而不是作为后台任务运行,但是有一些工具可以为你提供便利,或者你可以为rails runner
编写脚本在Rails环境中执行。