0

私はc#を使用して最新のNWSレーダー画像を取得しようとしています。NWS Webサイトには、最新の画像のリストを含むディレクトリがあります。ただし、ファイルには、番号順ではなく、アップロードされた日付で名前が付けられます。通常、数分ごとにアップロードされますが、正確な分数は5分ほど異なる場合があります。画像のURLを取得するために、インデックスページからURLを抽出するXMLパーサーを作成できますが、これはこのような単純なタスクでは複雑すぎるようです。さらに、このインデックスページはAPIではなく、XMLパーサーを台無しにする形式で何かを変更する可能性がある場合。最新の画像のURLを取得する他の方法はありますか?

4

1 に答える 1

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 または API?

于 2012-10-27T18:01:30.080 に答える