我正在使用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