HTML数据提取

简介

本文介绍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类的内置方法,大家可以试着练

posted @ 2013-05-28 11:03  qqnihao  阅读(297)  评论(0编辑  收藏  举报