Webハーベスティング、Webデータ抽出、スクリーンスクレーピングなどのC#でMicrosoft .NETアプリケーションを開発中です。あなたがそれを呼びたいと思っているものは何でも。 HTMLを解析するために、私はHTML Agility Packを組み込もうとしていますが、思ったほど簡単ではありません。私はこれまでに何を持っていたのかに関するいくつかの仕様とイメージを含め、どのように進むことができるかについてあなたの意見を得たいと考えていました。基本的に、私はVisual Web Ripperで使用されているレイアウトに似たようなことをしたいのですが、どうやってそれをやっているのかわかりません。C#と.NET Frameworkを使用したスクリーンスクレーピング、Webスクレーピング、Webハーベスティング、Webデータ抽出など
画像:
http://img69.imageshack.us/img69/8880/webharvester1.png
http://img198.imageshack.us/img198/9563/webharvester2.png
仕様:
私の目標は、データや画像をダウンロードするための非常にユーザーフレンドリーポイント・アンド・クリックのアプリケーションを作ることですウェブから。私は、Webブラウザを使用してHTMLページを読み込み、解析されたデータと画像リンクをテキストボックスに出力したいと思います。ユーザーは、必要なHTMLタグを指定し、データをグリッドにダウンロードすることができます。最後に、データを必要な形式にエクスポートします。
私はHTMLアジリティパックを使用して、Webページ上のHTMLを読み込み、テキストボックスに表示しようとしています。
// Load Web Browser
private void Form6_Load(object sender, EventArgs e)
{
// Navigate to webpage
webBrowser.Navigate("http://www.webopedia.com/TERM/H/HTML.html");
// Save URL to memory
SiteMemoryArray[count] = urlTextBox.Text;
// Load HTML from webBrowser
HtmlWindow window = webBrowser.Document.Window;
string str = window.Document.Body.OuterHtml;
// Extract tags using HtmlAgilityPack and display in textbox
HtmlAgilityPack.HtmlDocument HtmlDoc = new HtmlAgilityPack.HtmlDocument();
HtmlDoc.LoadHtml(str);
HtmlAgilityPack.HtmlNodeCollection Nodes = HtmlDoc.DocumentNode.SelectNodes("//a");
foreach (HtmlAgilityPack.HtmlNode Node in Nodes)
{
textBox2.Text += Node.OuterHtml + "\r\n";
}
}
の場合:HtmlWindow window = webBrowser.Document.Window;
私はエラーを取得する:オブジェクト参照がオブジェクトインスタンスに設定されていません。
これは非常にきれいなスクリーンショットです。どのGUIライブラリを使用していますか? –
ありがとうございます。それはDotNetBarとeXpressAppフレームワークです。何か案は? – John
TBH、より具体的な質問が必要です。 http://stackoverflow.com/faqおよびhttp://stackoverflow.com/questions/how-to-askを参照してください。 –