在项目维护期间,客户要求导出html模板相关字段到excel。之前做过网络爬虫用的是正则,现在百度一下还有更加好的工具:HtmlAgilityPack 地址
她解析速度相当快、开源、易用,可以帮我们快速的解析html。
1、加载html
// 从物理路径的文件加载
var doc = new HtmlDocument();
doc.Load(filePath);//文件路径
// 从Stream当中加载
var doc = new HtmlDocument();
doc.LoadHtml(html);
// 从网页的Url链接加载
var url = “http://www.cnblogs.com/xuliangxing/”;
var web = new HtmlWeb();
var doc = web.Load(url);
2、快速定位我们想要的数据
//获取textarea 属性值alt=‘发包部门’ 的内容
HtmlNode txtfbbm = document.DocumentNode.SelectSingleNode(“//textarea[@alt=‘发包部门’]”);
txtfbbm.InnerText
//合同金额(万元)
HtmlNode txthtje = document.DocumentNode.SelectSingleNode(“//input[@alt=‘合同金额’]”);
if (txthtje.Attributes[“value”] != null)
txthtje.Attributes[“value”].Value;