我正在使用C#中的Microsoft .NET應用程序進行Web收集,Web抓取,Web數據提取,屏幕抓取,等等,無論你想叫它。對於解析HTML,我試圖加入HTML敏捷包,但它並不像我想象的那麼容易。我已經包含了一些規範和圖片,說明我到目前爲止所做的工作,並希望就如何開展工作獲得您的意見。基本上,我想做一些類似於Visual Web Ripper中使用的佈局,但我不知道它們是如何做到的......任何想法?使用C#和.NET Framework進行屏幕抓取,網頁抓取,網頁收集,Web數據提取等工作
圖片:
http://img69.imageshack.us/img69/8880/webharvester1.png
http://img198.imageshack.us/img198/9563/webharvester2.png
規格:
我的目標是做一個非常人性化的指向和點擊下載數據和圖像應用來自網絡。我想使用Web瀏覽器加載HTML頁面,並將解析的數據和圖像鏈接輸出到文本框中。用戶可以指定他們想要的HTML標籤,然後將數據下載到網格中。最後,將數據導出爲他們需要的任何格式。
我正在嘗試使用HTML Agility Pack在網頁上加載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庫? – 2012-02-28 01:22:11
謝謝。它是DotNetBar和eXpressApp框架。有任何想法嗎? – John 2012-02-28 03:30:09
TBH,您的問題需要更具體。請參閱http://stackoverflow.com/faq和http://stackoverflow.com/questions/how-to-ask – 2012-02-28 04:19:49