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