发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
HtmlAgilityPack是一个开源的解析HTML元素的类库,最大的特点是可以通过XPath来解析HMTL,如果您以前用C#操作过XML,那么使用起HtmlAgilityPack也会得心应手。目前最新版本为1.4.6,下载地址如下:
http://htmlagilitypack./
下面以一个简单的例子来介绍下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、以博客园的登录界面为例,获取后的界面如下
示例下载
来自: 昵称10504424 > 《工作》
0条评论
发表
请遵守用户 评论公约
开源项目Html Agility Pack实现快速解析Html
开源项目Html Agility Pack实现快速解析Html.Why Html Agility Pack?但是,经过我一段时间的搜索,Html Agility Pack浮出水面:它是Stackoverflow网站上推荐最多的C# HTML解析器。Q: 如何根据ID选择HTM...
别在迷恋正则表达式解析html了,好吗?
..:选取当前节点的父节点。< Article ></ Article >针对上面的XML文件,我们列出了带有谓语的一些路径表达式,以及表达式的...
.NET Core HtmlAgilityPack HTML解析利器
NET Core HtmlAgilityPack HTML解析利器。发现HtmlAgilityPack 没法进行引用,遂自己做了些修改,可以运行在 .NET Core 中。NET Core版 ...
C# 实现网络爬虫
1 private string GetHtml(string Url) //:Url="http://www.cppi.cn";HtmlAgilityPack是.net下的一个HTML解析类库,具体使用详...
HtmlAgilityPack 之 HtmlNode类
将一个节点插入到第二个参数节点的后面,与第二个参数是兄弟关系 HtmlNode InsertBefore(HtmlNode newChild, HtmlNode refChild); 讲一个节点插入到第二个参数节点的后面,与第二个参数是兄弟关系 s...
手把手教你爬取优酷电影信息-2
归纳整合一下.NET下各种可用的HTML解析组件(HtmlAgilityPack,Jumony,ScrapySharp,NSoup,Fizzler) | 码友网
归纳整合一下.NET下各种可用的HTML解析组件(HtmlAgilityPack,Jumony,ScrapySharp,NSoup,Fizzler) | 码友网做数据抓取,网络爬虫方面的开发,自然少不了解析HTML源码的操作。
imoniker implementation and navigations with html pages loaded from memory
imoniker implementation and navigations with html pages loaded from memoryHi, htmlDoc2->lpVtbl->QueryInterface(htmlDoc2, &IID_IPersistMoniker, &my_persist_moniker);hr = my_p...
介绍C#解析HTML的两种方法
微信扫码,在手机上查看选中内容