foreach(var script in doc.DocumentNode.Descendants("script").ToArray())
script.Remove();
foreach(var style in doc.DocumentNode.Descendants("style").ToArray())
style.Remove();
foreach (var comment in doc.DocumentNode.SelectNodes("//comment()").ToArray())
comment.Remove();//新增的代碼
string innerText = doc.DocumentNode.InnerText;
解釋:HtmlAgilityPack是使用XPath語法,"//comment()"在XPath中表示“所有注釋節點”,關於XPath的詳細用法請參考XPath的資料。
其他可能有用的技術點:
1、獲取網頁title:doc.DocumentNode.SelectSingleNode("//title").InnerText;
解釋:XPath中“//title”表示所有title節點。SelectSingleNode用於獲取滿足條件的唯一的節點。
2、獲取所有的超鏈接:doc.DocumentNode.Descendants("a")
3、獲取name為kw的input,也就是相當於getElementsByName():
var kwBox = doc.DocumentNode.SelectSingleNode("//input[@name='kw']");
解釋:"//input[@name='kw']"也是XPath的語法,表示:name屬性等於kw的input標簽。