在 .net 中,抓取 HTML 网页的最佳方式是什么。
是否有在 .net 框架 2 上运行并将所有 html 放入对象的开源软件。我已经阅读了“HTML Agility Pack”,但还有其他想法吗?
我认为 HtmlAgilityPack 是,但你也可以使用
您可以使用 Tidy.net,它是 Tidy 库的 ac# 包装器,可将 HTML 转换为 XHTML,可在此处获取:http: //sourceforge.net/projects/tidynet/,因此您可以获得有效的 XML 并按此方式处理它。
我会这样:
// don't forget to import TidyNet and System.Xml.Linq
var t = new Tidy();
TidyMessageCollection messages = new TidyMessageCollection();
t.Options.Xhtml = true;
//extra options if you plan to edit the result by hand
t.Options.IndentContent = true;
t.Options.SmartIndent = true;
t.Options.DropEmptyParas = true;
t.Options.DropFontTags = true;
t.Options.BreakBeforeBR = true;
string sInput = "your html code goes here";
var bytes = System.Text.Encoding.UTF8.GetBytes(sInput);
StringBuilder sbOutput = new StringBuilder();
var msIn = new MemoryStream(bytes);
var msOut = new MemoryStream();
t.Parse(msIn, msOut, messages);
var bytesOut = msOut.ToArray();
string sOut = System.Text.Encoding.UTF8.GetString(bytesOut);
XDocument doc = XDocument.Parse(sOut);
//process XML as you like
否则,HTML 敏捷包是可以的。