node.js で正規表現を使用して HTML を解析し、文字列を返しています。ただし、この投稿で、これは良い考えではないと言われました: node.js の HTTP 要求から特定の文字列をプルします。
より安定した代替手段は何ですか?
私はプログラミングが初めてなので、チュートリアルへのリンクは非常に役立ちます。ドキュメントの説明の一部を理解するのに苦労しています。
node.js で正規表現を使用して HTML を解析し、文字列を返しています。ただし、この投稿で、これは良い考えではないと言われました: node.js の HTTP 要求から特定の文字列をプルします。
より安定した代替手段は何ですか?
私はプログラミングが初めてなので、チュートリアルへのリンクは非常に役立ちます。ドキュメントの説明の一部を理解するのに苦労しています。
node-htmlparserは、HTMLの解析の面倒な作業をすべて処理します。さらに、node-soupselectを使用すると、CSSスタイルのセレクターを使用して、探している特定の要素を見つけることができます。
しかし、私はあなたの他の質問を調べました。あなたが本当に尋ねるべき質問は、「HTMLページからこのデータを取得する方法」ではなく、「探しているデータを取得するためのより良い方法はありますか?」です。USGSには、データを機械可読形式で提供するAPIがあります。
関心のある場所のJSONオブジェクトはvar d = JSON.parse
次のとおり です。貯水池の表面の標高の「最新の瞬間値」を取得するには、そのファイルをダウンロードし、を実行して、次の操作を行います。
for (var i = 0; i < d.value.timeSeries.length; i++) {
if (d.value.timeSeries[i].variable.variableName == 'Elevation of reservoir water surface above datum, ft') {
var result = d.value.timeSeries[i].values[0].value[d.value.timeSeries[i].values[0].value.length-1];
}
}
result
のようになります{ dateTime: "2012-04-07T17:15:00.000-05:00", value: "1065.91" }
。