c# 抓取 js 生成的 html,c# 抓取 js动态生成的HTML的工具:NHtmlUnit‎

编译获取dll方法:

1.下载nuget.exe (nuget所在网站:http://www.nuget.org/)

2.打开DOS命令对话框,

进入nuget.exe文件所在目录(我的exe文件放在桌面)

9fd33e1e909146d0bfd6c902ee5c0d9d.png

3.运行命令安装NHtmlUnit,安装后会在当前目录创建两个文件夹,一个是安装所需环境IKVM,另一个就是需要的NHtmlUnit文件夹,里面的lib目录下面有生成的dll

运行命令:nuget install NHtmlUnit

1f2279cbe53095697de7b746ca15bae6.png

3.使用方法可以去HtmlUnit的官方网站阅读文档,或在博客园搜索教程,与JAVA的HtmlUnit的用法是一样的,NHtmlUnit只是

在HtmlUnit上加了个壳使.net可以调用JAVA而已。

实例代码(引用dll:HtmlUnit,NHtmlUnit,为了偷懒,我把所有IKVM的dll都引用了):

1d19cb9d758dbe7cef2b04d4c23719c1.gif

classProgram

{static void Main(string[] args)

{

WebClient client= newWebClient();

client.Options.JavaScriptEnabled= false;

client.Options.CssEnabled= true;

client.Options.ThrowExceptionOnScriptError= false;

client.Options.Timeout= 5000;

HtmlPage page= client.GetHtmlPage("http://www.baidu.com/#wd=11&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&rsv_sug3=2&rsv_sug2=0&inputT=26");

Thread.Sleep(3000);string xml =page.AsXml();

HtmlDocument doc= new HtmlDocument();//忽略此类,这个类是其他DLL提供的,与NHtmlUnit无关

doc.LoadHtml(xml);string nodeName = doc.GetElementbyId("container").Name;

Console.WriteLine("\r\n\r\n\r\n\r\n" + nodeName + "\r\n\r\n\r\n\r\n");

Console.Read();

}

}

1d19cb9d758dbe7cef2b04d4c23719c1.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值