当前位置: 首页 > 工具软件 > NSoup > 使用案例 >

c# NSoup(HTML解析)

钦高峯
2023-12-01

介绍对象: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
 类似资料: