網頁抓取JAVASCRIPT處理

來源:互聯網
上載者:User

在抓取網頁過程中,很多網頁內容都預先儲存到JAVASCRIPT變數中,如果僅通過SUBSTRING 進行截取分析,效率慢,錯誤率多。

如何才能更好的解決呢?用MSScriptControl

 

在C#中,我們也可以通過Com組件來執行一段javascript代碼。

下面的代碼展示了如何用MSScriptControl 組件執行一段數學運算式:

   MSScriptControl.ScriptControlClass sc = new MSScriptControl.ScriptControlClass();
   sc.Language = "javascript";
   object obj = sc.Eval(" 1 + 2 * (3 + 4)");
   Console.WriteLine(obj);

要使用MSScriptControl需要引用com組件 Microsoft Script Control 1.0。

上篇文章已經詳細說明了,當然代碼有部分錯誤 “MSScriptControl.IScriptControl.Timeout”與“MSScriptControl.DScriptControlSource_Event.Timeout”之間存在二義性

原代碼:

 

/// <summary>

/// 擷取或設定指令碼執行時間,單位為毫秒

/// </summary>

public int Timeout

{

            get { return this.msc.Timeout; }

            set { this.msc.Timeout = value; }

}

修改為:

 

        /// <summary>

        /// 擷取或設定指令碼執行時間,單位為毫秒

        /// </summary>

        public int Timeout

        {

 

            get { return ((IScriptControl)this.msc).Timeout; }

            set { ((IScriptControl)this.msc).Timeout = value; }

 

        }

即可,測試可以使用,這樣進行抓取資料更加方便簡介,直接讓JS輸出結果就好了。

結合一些技術可以做很多東西如:

1、ALEXA排名作弊,EXE執行處理後進行POST,或者申請一個認證進行頁面處理,資料跟真實

2、一些點擊或者展示廣告作弊,原理同上,結合ACTIVEX外掛程式,效果不錯

 ActiveX是Microsoft對於一系列策略性物件導向程式技術和工具的稱呼,其中主要的技術是元件物件模型(COM)。在有目錄和其它支援的網路中,COM變成了分布式COM(DCOM)。在建立包括ActiveX程式時,主要的工作就是組件,一個可以自足的在ActiveX網路(現在的網路主要包括Windows和Mac)中任意啟動並執行程式。這個組件就是ActiveX近控制項。ActiveX是Microsoft為抗衡Sun Microsystems的JAVA技術而提出的,此控制項的功能和JAVA applet功能類似。 

 

  如果您使用的是Windows作業系統,您或許會注意到一些以OCX結尾的檔案。OCX代表“對象連結與嵌入控制項”(OLE),這個技術是Microsoft提出的程式技術,用於處理案頭檔案的混合使用。現在COM的概念已經取代OLE的一部分,Microsoft也使用ActiveX控制項代表組件對象。 

 

  組件的一大優點就是可以被大多數應用程式再使用(這些應用程式稱為組件容器)。一個COM組件(ActiveX控制項)可由不同語言的開發工具開發,包括C++和Visual Basic或PowerBuilder,甚至一些技術性語言如VBScript。 

 

  目前,ActiveX控制項在Windows 95/NT和Macintosh中運行,Microsoft還準備支援UNIX的ActiveX控制項。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.