我正在使用以下代码将页面中的所有文本放入List<string>
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(content);
foreach (var script in doc.DocumentNode.Descendants("script").ToArray())
script.Remove();
foreach (var style in doc.DocumentNode.Descendants("style").ToArray())
style.Remove();
foreach (HtmlAgilityPack.HtmlNode node in doc.DocumentNode.SelectNodes("//text()"))
{
string found = WebUtility.HtmlDecode(node.InnerText.Trim());
if (found.Length > 2) // removes some unwanted strings
query[item.Key].Add(found);
}
- 但是一些 html 仍然进入字符串,例如
</form>
有没有更好的方法来缩小这个代码,所以我只得到每个标签的文本,没有别的,或者我仍然必须解析结果以删除 <*> 标签?