打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
HTML解析组件HtmlAgilityPack使用

HtmlAgilityPack是一个开源的解析HTML元素的类库,最大的特点是可以通过XPath来解析HMTL,如果您以前用C#操作过XML,那么使用起HtmlAgilityPack也会得心应手。目前最新版本为1.4.6,下载地址如下:

http://htmlagilitypack.codeplex.com/

下面以一个简单的例子来介绍下HtmlAgilityPack的使用,对于Asp.Net程序开发的网站要做模拟登录的时候,除了要知道用户名文本框和密码文本框的name属性值外,还需要知道页面的__VIEWSTATE、__EVENTVALIDATION这两个隐藏控件的值,以及提交按钮的name属性,下面看看怎样使用HtmlAgilityPack来获得这个额外的值。

1、在项目中添加对HtmlAgilityPack.dll的引用

2、在Aspx页面中放几个文本框控件和一个按钮控件

3、按钮的后台事件如下

protected void btnHtml_Click(object sender, EventArgs e)        {            if (tbUrl.Text.Length > 0)            {                HtmlWeb htmlWeb = new HtmlWeb();                HtmlDocument htmlDoc = htmlWeb.Load(this.tbUrl.Text);                HtmlNode htmlNode = htmlDoc.DocumentNode.SelectSingleNode("//input[@id='__VIEWSTATE']");                string viewStateValue = htmlNode.Attributes["value"].Value;                htmlNode = htmlDoc.DocumentNode.SelectSingleNode("//input[@id='__EVENTVALIDATION']");                string eventValidation = htmlNode.Attributes["value"].Value;                htmlNode = htmlDoc.DocumentNode.SelectSingleNode("//input[@type='submit']");                string submitName = htmlNode.Attributes["name"].Value;                tbViewState.Text = viewStateValue;                tbEventValidation.Text = eventValidation;                tbSubmitName.Text = submitName;            }        }

4、以博客园的登录界面为例,获取后的界面如下

示例下载

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
开源项目Html Agility Pack实现快速解析Html
别在迷恋正则表达式解析html了,好吗?
.NET Core HtmlAgilityPack HTML解析利器
C# 实现网络爬虫
HtmlAgilityPack 之 HtmlNode类
手把手教你爬取优酷电影信息-2
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服