我正在编写一个抓取一组网页的应用程序.而不是采取页面的整个源代码,我想采取所有内容并存储,并能够将页面作为纯文本存储在数据库中.内容将在其他应用程序中使用,而不是由用户阅读,因此不需要它完全是人类可读的.
起初,我正在考虑使用正则表达式,但我无法控制网页的有效性,并且很有可能没有正则表达式会给我内容.
解决方法
它不是100%清楚你想要什么,但我假设你想要文本减去标记;所以:
@H_502_10@string html;
// obtain some arbitrary html....
using (var client = new WebClient()) {
html = client.DownloadString("https://stackoverflow.com/questions/2038104");
}
// use the html agility pack: http://www.codeplex.com/htmlagilitypack
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
StringBuilder sb = new StringBuilder();
foreach (HtmlTextNode node in doc.DocumentNode.SelectNodes("//text()")) {
sb.AppendLine(node.Text);
}
string final = sb.ToString();