c# 抓取 js動態生成的HTML的工具:NHtmlUnit‎


(此博客文章純屬個人記錄,轉載請注明出處!)

官方地址:NHtmlUnit

編譯獲取dll方法:

1.下載nuget.exe (nuget所在網站:http://www.nuget.org/)

2.打開DOS命令對話框,

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

 

3.運行命令安裝NHtmlUnit,安裝后會在當前目錄創建兩個文件夾,一個是安裝所需環境IKVM,另一個就是需要的NHtmlUnit文件夾,里面的lib目錄下面有生成的dll

運行命令:nuget install NHtmlUnit

 

3.使用方法可以去HtmlUnit的官方網站閱讀文檔,或在博客園搜索教程,與JAVA的HtmlUnit的用法是一樣的,NHtmlUnit只是

在HtmlUnit上加了個殼使.net可以調用JAVA而已。

 

實例代碼(引用dll:HtmlUnit,NHtmlUnit,為了偷懶,我把所有IKVM的dll都引用了):

class Program
    {
        static void Main(string[] args)
        {
            WebClient client = new WebClient();
            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();
        }
    }

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM