HtmlAgilityPack 刪除script、style以及注釋標簽


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標簽。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 HTML中的