ローカルデータベースにインポートする10のニュースソースのリストがあるとします。私は、これらの外部ニュースページのそれぞれを開いて、メインのコンテンツを抽出し、それを保存する必要があります。これらのページのHTML構造はそれぞれ異なります。あるものはdivを使用し、他のものは記事タグを使用します。HTMLアジャイルパックを使用して動的コンテンツを抽出する
私はHttpWebRequestオブジェクトを使用してページを開き、HtmlAgilityPackを使用して[HTML]ドキュメントを読み込むことができます。
HttpWebRequest oReq = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse resp = (HttpWebResponse)oReq.GetResponse();
var doc = new HtmlAgilityPack.HtmlDocument();
doc.Load(resp.GetResponseStream());
しかし、どのようにタイプを知らずに主要な要素をターゲットにできるかわかりません。
私も可能なことをしようとしていますか?
ニュースサイトで、目的のデータを取得するためのAPIを提供しているかどうかを確認しましたか?そのようなサイトでは一般的にWebスクレイピングが嫌にされている(つまり許可されていない)。 –
オプションは(プログラムで)他のページを見たり、ほとんどのテキストを持つ要素を見つけたり、ページ間で最も変化するテキストを探したり、その要素を対象とすることができます。あなたが望むものに近いところにあなたを近づけるかもしれませんが、完璧ではありません。あなたが本当に熱心であれば、ニューラルネットを書いて、多くのウェブサイトでそれを訓練し、主なコンテンツに対してそれらを検証することができます。しかし、とにかく、最初のオプションは実装がずっと簡単です:) –
http://www.bing .com/newsやhttps://news.google.com/newsはこれが明らかに不可能になる前に完了していませんでした。さらに、このような「不可能な」システムを設計することは、あまりにも広すぎるので、ページ上で実際に検出したいものを絞り込むと、トピックになる可能性があります。 –