• 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标签。

  • 相关阅读:
    springcloud概述
    springcloud-微服务架构基础
    TypeScript 教程
    提示工具以及弹出框
    Bootstrap 弹出框(Popover)插件
    JavaScript JSON
    JavaScript常见基础函数
    7种JavaScript代码调试的方法
    Bootstrap 网格系统
    文本元素
  • 原文地址:https://www.cnblogs.com/hycms/p/4959773.html
Copyright © 2020-2023  润新知