专栏首页王磊的博客Net处理html页面元素工具类(HtmlAgilityPack.dll)的使用

Net处理html页面元素工具类(HtmlAgilityPack.dll)的使用

简介

本文介绍net处理html页面元素的工具类(HtmlAgilityPack.dll)的使用,用途比较多的应该是例如采集类的功能,采集到的html字符串要怎样处理是一个头痛的问题,如果是截取就太麻烦了而且容易出错。所有就用到本文的第三方dll来处理了。

下载

下载地址:http://htmlagilitypack.codeplex.com/

点击“download”按钮直接下载。

使用

1.添加HtmlAgilityPack.dll引用(引用类using HtmlAgilityPack;)。

2.简单根据html中input的id获取value代码如下:

// 模拟用户请求
WebClient webClient = new WebClient();
webClient.Encoding = System.Text.Encoding.UTF8;
string htmlContext = webClient.DownloadString("http://stone_w.cnblogs.com/");
webClient.Credentials = CredentialCache.DefaultCredentials; // 添加授权证书
webClient.Headers.Add("User-Agent", "Microsoft Internet Explorer");
webClient.Headers.Add("Host", "www.cnblogs.com");

// 获取html元素(htmlContext为html页面字符串)
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(htmlContext);  // 加载html页面
HtmlNode navNode = htmlDoc.GetElementbyId("id名称");
Response.Write(navNode.Attributes["value"].Value);

总结

HtmlAgilityPack可以根据id查询value,还可以获取单个元素节点,都是HtmlDocument类的内置方法,大家可以试着练练。谢谢完~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • c#生成一组不同的随机数的方法

    #region 生成不同随机数的方法 /// <summary> /// 生成不同随机数的方法 /// </summary> /// <param name="...

    Java中文社群_老王
  • Spring Boot 最佳实践(四)模板引擎Thymeleaf集成

    Thymeleaf是一种Java XML / XHTML / HTML5模板引擎,可以在Web和非Web环境中使用。它更适合在基于MVC的Web应用程序的视图层...

    Java中文社群_老王
  • SQL Server T-SQL高级查询

    高级查询在数据库中用得是最频繁的,也是应用最广泛的。 Ø 基本常用查询 --select select * from student;   --all 查询所有...

    Java中文社群_老王
  • python实现简单爬虫功能

    在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材。

    用户7678152
  • 当 Kali 遇见 Docker

    最近在学习 《Python 黑帽子:黑客与渗透测试编程之道》一书,分别在 VMvare 和 U 盘安装了 Kali-Linux 操作系统,但是 VMvare 启...

    蓝默空间
  • 微信发布首份《移动支付时代的无人零售报告》

    知晓君
  • 如何在 CentOS 8 上增加 Swap 空间

    Swap(交换内存)是硬盘上的一个空间,当物理内存耗尽,交换内存就会被使用。当一个 Linux 系统内存不足时,不活跃的内存页,将会被从 RAM 空间 移动到 ...

    雪梦科技
  • Python 3.10 的一些新特性

    Python 3.10.0a2 版本已经于 2020-11-04 发布,因此我们可以窥见 Python 3.10 的一些新特性。这些新特性很可能会改变未来的 P...

    somenzz
  • 和开发一起写代码,让测试左移起来

    一、写在前面的话 互联网产品的迭代速度之快,各位都深有体会。做为产品质量的保障者,测试人员经常为测试时间不足而烦恼,如何打破现状来让现在变得更好一些,这是我们一...

    腾讯移动品质中心TMQ
  • 洛谷P4136 谁能赢呢?

    题目描述 小明和小红经常玩一个博弈游戏。给定一个n×n的棋盘,一个石头被放在棋盘的左上角。他们轮流移动石头。每一回合,选手只能把石头向上,下,左,右四个方向移动...

    attack

扫码关注云+社区

领取腾讯云代金券