プログラムで、Web サイトから特定の情報のみを自動的にダウンロードしたい。これがほとんど不可能であることがわかった後、プログラムが Web ページ全体をダウンロードして、必要な情報を文字列内で見つけられるようにするのが最善であると考えました。
特定の単語の後に特定の単語/数字を見つけるにはどうすればよいですか? 欲しい数字の前の言葉はいつも同じ。数はさまざまで、それが私のプログラムで必要な数です。
プログラムで、Web サイトから特定の情報のみを自動的にダウンロードしたい。これがほとんど不可能であることがわかった後、プログラムが Web ページ全体をダウンロードして、必要な情報を文字列内で見つけられるようにするのが最善であると考えました。
特定の単語の後に特定の単語/数字を見つけるにはどうすればよいですか? 欲しい数字の前の言葉はいつも同じ。数はさまざまで、それが私のプログラムで必要な数です。
画面のスクレイピングのように聞こえます。CSQuery https://github.com/jamietre/CsQuery (または必要に応じて HtmlAgilityPack)を使用することをお勧めします。ソースを取得し、オブジェクトとして解析し、すべてのテキスト ノードをループして、そこで文字列比較を行います。これを行う実際の方法は、ソース HTML がどのように行われるかによって大きく異なります。
メモリから書かれたこのテストされていない例のようなもの (CSQuery)
var dom = CQ.Create(stringWithHtml);
dom["*"].Each((i, e) =>
{
// handle only text nodes
if (e.NodeType == NodeType.TEXT_NODE) {
// do your check here
}
}
複数のアプリケーションにHTML Agility Packを使用しましたが、うまく機能します。オプションもたくさん。
これは、この目的で一般的に推奨されている素敵な HTML パーサーです。不正な HTML を取得し、それを XHTML に変換してから、XML クラスのように通過可能な DOM に変換します。そのため、野生で見つけたコードには非常に役立ちます。