如何获得最新的国家气象局雷达图像?

时间:2012-10-27 17:52:41

标签: c#

我正在尝试使用c#获取最新的NWS雷达图像。 NWS网站上有directories,其中包含最新图像的列表。但是,文件按上载日期命名,而不是按数字顺序命名。它们通常每隔几分钟上传一次,但确切的分钟数可能会有5分钟的变化。为了获取图像的URL,我可以编写一个XML解析器来从索引页面中提取URL,但是这对于这样一个简单的任务来说似乎过于复杂。此外,这个索引页面不是API,如果它们可能会改变某些格式会破坏XML解析器。是否有其他方法可以获取最新图像的URL?

1 个答案:

答案 0 :(得分:1)

html并不总是有效的Xml。但是你可以使用像HtmlAgilityPack这样的真正的html解析器。

WebClient wc = new WebClient();
var page = wc.DownloadString("http://radar.weather.gov/ridge/RadarImg/NCR/OKX/?C=M;O=D");

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(page);

var imageLink = doc.DocumentNode.SelectNodes("//td/a[@href]")
                    .Select(a=>a.Attributes["href"].Value)
                    .OrderByDescending(a=>a)
                    .First();

<强> - 编辑 -

忘掉这个答案并按照那样的方式United States Weather Radar Data Feed or API?