博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# HTML解析工具HtmlAgilityPack使用实例(二)--Web页面
阅读量:4287 次
发布时间:2019-05-27

本文共 1299 字,大约阅读时间需要 4 分钟。

一、使用XPath精确解析指定的Dom节点

XPath字符串的简单获取方法,是在浏览器开发者工具中指定节点右键》“Copy XPath”

如图

//加载Web 的页面并解析内容string rowPath = "/html/body/div[2]/div[2]";HtmlWeb web = new HtmlWeb();HtmlDocument doc = web.Load("http://www.gongjuji.net");//以document 为基准HtmlNode row = doc.DocumentNode.SelectSingleNode(rowPath);//创建row为基准row = HtmlNode.CreateNode(row.OuterHtml);HtmlNodeCollection titles = row.SelectNodes("//h3");foreach (var item in titles){    Console.WriteLine(item.InnerText);}HtmlNodeCollection links = doc.DocumentNode.SelectNodes("//a");foreach (HtmlNode item in links){    Console.WriteLine(item.Attributes["href"].Value);}Console.WriteLine("------->解析结束");

二、使用XPath的模糊查找,基于document或者新建基点查询

//加载Web 的页面并解析内容HtmlWeb web = new HtmlWeb();HtmlDocument doc = web.Load("http://www.gongjuji.net");HtmlNode row = doc.DocumentNode.SelectSingleNode("//div[@class='row']");//以document为基准查询HtmlNodeCollection col = row.SelectNodes("//div[@class='thumbnail']");foreach (HtmlNode item in col){    //使用CreateNode()来创建新的查询基准    HtmlNode thumbnail = HtmlNode.CreateNode(item.OuterHtml);    HtmlNode title = thumbnail.SelectSingleNode("//h3");    Console.Write("标题:" + title.InnerText);    HtmlNode a = thumbnail.SelectSingleNode("//a");    Console.WriteLine("\t链接:" + a.Attributes["href"].Value);}Console.WriteLine("------解析结束");

你可能感兴趣的文章
详解TCP的三次握手(建连)四次挥手(断连)
查看>>
深入浅出JVM
查看>>
并发与多线程
查看>>
数据结构与算法
查看>>
高并发架构基石 - 缓存
查看>>
关系型数据和文档型数据库有什么区别?
查看>>
Redis 的过期策略和内存淘汰机制有什么区别?
查看>>
Redis 怎样实现的分布式锁?
查看>>
Redis 中如何实现的消息队列?实现的方式有几种?
查看>>
java基础知识---IO常用基础操作(二)
查看>>
智慧社区GIS系统开发详细设计
查看>>
智慧园区导航可视化分析平台技术方案
查看>>
智慧停车场综合解决方案
查看>>
疫情防控三维GIS时空分析系统设计
查看>>
python实现判断某天是否是节假日
查看>>
python根据日期计算昨天、明天日期
查看>>
pandas填充缺失值
查看>>
No matching distribution found for docx(配置cmd控制台代理)
查看>>
pycharm 无法安装模块 nothing to show
查看>>
ModuleNotFoundError: No module named 'exceptions'
查看>>