c# NSoup(HTML解析)

介绍对象:NSoup

可以用类似js语法来解析html,不错的爬虫工具,支持net4.0++,就算不熟悉前端html+js语法的人来说应该也很容易上手

这里插播另一款解析工具(html_agility_pack):https://blog.csdn.net/czjnoe/article/details/106598713
github:https://github.com/GeReV/NSoup

gitHub下载慢?参考文章:https://blog.csdn.net/czjnoe/article/details/106034095

VS使用:Nuget直接搜索NSoup

demo地址:https://github.com/czjnoe/GitHubDemo/tree/master/NSoupDemo

代码实操:

以百度官网为例,这里只是尝试一下简单常用的方法,还有更多方法有待自己去发掘,方法要是不会使用,可以去查看github项目中的测试用例。

 WebClient client = new WebClient();
            client.Encoding = System.Text.Encoding.UTF8;
            var html = client.DownloadString("https://www.baidu.com/");

            NSoup.Nodes.Document doc = NSoup.NSoupClient.Parse(html);
            //根据标签名获取节点
            NSoup.Select.Elements metaElements = doc.GetElementsByTag("meta");
            foreach (var item in metaElements)
            {

            }
            //根据id获取节点
            NSoup.Nodes.Element headClassElements = doc.GetElementById("head");
            //根据class获取节点
            var headIdElements = doc.GetElementsByClass("fm").ToList();
            foreach (var item in headIdElements)
            {

            }
            //根据属性名称获取节点
            List<Element> attributeNameElements = doc.GetElementsByAttribute("class").ToList();

            //根据属性值获取节点
            List<Element> attributeValueElements = doc.GetElementsByAttributeValue("id", "su").ToList();

            //根据jQuery选择器获取节点
            var selectElments =doc.Select("#head").ToList();


 

请使用手机"扫一扫"x
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值