C#HtmlAgilityPack.HtmlDocument和HtmlAgilityPack.HtmlNode的使用

  HtmlAgilityPack.HtmlDocument response = null;
//HtmlAgilityPack.HtmlNode类和HtmlAgilityPack.HtmlDocument类的使用!
HtmlAgilityPack.HtmlNode responseNew = null; HtmlDocument doc = new HtmlDocument();
wc.Encoding = Encoding.UTF8;
string html= wc.DownloadString(url);
doc.LoadHtml(html); responseNew = doc.DocumentNode.SelectSingleNode("/html/body"); //根据XPath查找节点,跟XmlNode差不多 HtmlNodeCollection categoryNodeList = responseNew.SelectNodes("div[3]/div[1]/div[1]/div[1]/ul[1]/li");
foreach (HtmlNode item in categoryNodeList)
//foreach (HtmlNode item in ulS2.ChildNodes)
{
var xpath = item.XPath;
if (k % != )
{
number = number + ;
xpath = xpath.Replace("/#text[" + number + "]", "/li");//替换字符串
} k=k+;
string titleName, infourl, company, city, date, salary, salary_em, source;
titleName = item.SelectSingleNode(xpath + "/div/div/span/a").InnerText;//
infourl = item.SelectSingleNode(xpath + "/div/div/span/a").Attributes["href"].Value; //url
}

XML节点的模糊查询:contains(@属性,'模糊查询的值')

 ulS = response.DocumentNode.SelectNodes("//*[@id='resultList']/div[contains(@class,'el')]");

XML节点的等值查询

ulS = response.DocumentNode.SelectNodes("//*[@id='resultList']/div[@class='el']");
for (int i = ; i < ulS.Count; i++)
{
var item = ulS[i];
var xpath = item.XPath;
string titleName;
titleName = item.SelectSingleNode(xpath + "/p/span/a").InnerText;
}

C# HtmlDocument和HtmlNode的使用以及节点的模糊查询的更多相关文章

  1. RAC某节点v$asm_disk查询hang分析处理

    主题:RAC某节点v$asm_disk查询hang分析处理 环境:Oracle 11.2.0.3 RAC 故障描述:RAC环境2个节点,节点1查询v$asm_disk正常返回结果,节点2查询v$asm ...

  2. HP 集群软件 - 不能接收节点的设备查询信息:软件引起的连接失败

    问题 # cmcheckconf -v -C /etc/cmcluster/cmclconfig.ascii Begin cluster verification...  Checking clust ...

  3. 转:zTree树控件扩展篇:巧用zTree控件实现文本框输入关键词自动模糊查找zTree树节点实现模糊匹配下拉选择效果

    是否可以借助于zTree实现文本框输入关键词自动模糊匹配zTree下拉树,然后选择下拉树内节点显示在文本框内且隐藏下拉树. 看到这个需求脑子里头大致已经想到了要如何实现这样一个需求,当时是限于时间问题 ...

  4. jquery zTree异步搜索的例子--搜全部节点

    参考博客: https://segmentfault.com/a/1190000004657854 https://blog.csdn.net/houpengfei111/article/detail ...

  5. 在Winform界面中使用DevExpress的TreeList实现节点过滤查询的两种方式

    在我较早的一篇随笔<在DevExpress程序中使用TeeList控件以及节点查询的处理>中,介绍了在树形列表TreeList控件上面,利用SearchControl实现节点的模糊查询过滤 ...

  6. python爬虫之路——初识lxml库和xpath语法

    lxml库:是xml解析库,也支持html文档解析功能,实用功能:自动修正补全html代码. 使用流程:①导入lxml中的etree库,②利用etree.HTML(文件名)或etree.parse(本 ...

  7. 黄聪:HtmlAgilityPack,C#实用的HTML解析类 ---- HtmlNode类

    HtmlAgilityPack中的HtmlNode类与XmlNode类差不多,提供的功能也大同小异.下面来看看该类提供功能. 一.静态属性 public static Dictionary<st ...

  8. HtmlAgilityPack 之 HtmlNode类

    HtmlAgilityPack中的HtmlNode类与XmlNode类差不多,提供的功能也大同小异.下面来看看该类提供功能. 一.静态属性 public static Dictionary<st ...

  9. 【转】HtmlAgilityPack 之 HtmlNode类

    [转]HtmlAgilityPack 之 HtmlNode类 HtmlAgilityPack中的HtmlNode类与XmlNode类差不多,提供的功能也大同小异.下面来看看该类提供功能. 一.静态属性 ...

随机推荐

  1. 量子杨-Baxter方程新解系的一般量子偶构造_爱学术 https://www.ixueshu.com/document/f3385115a33571aa318947a18e7f9386.html

    量子杨-Baxter方程新解系的一般量子偶构造_爱学术 https://www.ixueshu.com/document/f3385115a33571aa318947a18e7f9386.html

  2. [skill][git] git 常用操作记录

    傻瓜入门: step by step : https://try.github.io/levels/1/challenges/1 一本书: https://git-scm.com/book/en/v2 ...

  3. delphi传递变量给fastreport

    delphi传递变量给fastreport   1.打开frReport报表设计.2.打开file->data dictionary加变量.这里比如加title,bm,zbr,gj,zrs3.在 ...

  4. shiro入门实例,基于ini配置

    基于ini或者关系数据库的,其实都是一样的,重要的是思想. # ==================================================================== ...

  5. 原声js,取消事件冒泡,点击按钮,显示box,点击屏幕其他地方,box隐藏

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. MySQL加锁处理分析(转)

    add by zhj: 非常棒的一篇文章,是我见过的讲加锁最棒最详细的文章了.之前听过网易的<MySQL微专业>,里面的课程讲的也很好,但锁这块讲的跟 这篇文章相比,还是有差距的.网易&l ...

  7. 实践-通过matlab操作sqlite数据库

    1.下载sqlite-jdbc连接数据库地址 https://bitbucket.org/xerial/sqlite-jdbc/downloads/ 2.将该jar包的绝对路径写入matlab的cla ...

  8. linux 替换 sed命令 转载

    转载自这里,感谢原作者 sed 's/test/mytest/g' example.txt 表示将example.txt中的test文本全部替换为mytest 请注意这个命令sed 's/test/m ...

  9. 2 jmeter常用功能介绍-测试计划、线程组

    1.测试计划测试用来描述一个性能测试,所有内容都是基于这个测试计划的. (1)User Defined Variables:设置用户全局变量.一般添加一些系统常用的配置.如果测试过程中想切换环境,切换 ...

  10. 多线程之共享变量.md

    共享变量 - 共享变量:当多个线程同时访问一个变量的时候,会产生共享变量的问题 - 案例11 - 解决变量:锁.信号灯: - 锁(Lock): - 是一个标志,表示一个线程在占用一些资源 - 使用方法 ...