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

(此博客文章纯属个人记录,转载请注明出处!)

编译获取dll方法:

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

2.打开DOS命令对话框,

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

bcab1ca7884f4621f1425b45d7eafda1.png

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

运行命令:nuget install NHtmlUnit

b0182c305b76382f75b2432b8430c35e.png

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

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

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

fcecaa27ea5212ceb9bf034c36bfbf34.gifclassProgram

{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();

}

}

fcecaa27ea5212ceb9bf034c36bfbf34.gif

原文:http://www.cnblogs.com/zcjiang/p/3579879.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值