zoukankan      html  css  js  c++  java
  • 网页抓取JAVASCRIPT处理

    在抓取网页过程中,很多网页内容都预先存储到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控件。

  • 相关阅读:
    PyQt(Python+Qt)学习随笔:QTreeWidgetItem项子项展开相关方法
    PyQt(Python+Qt)学习随笔:QTreeWidgetItem项下子项的指示符展示原则childIndicatorPolicy
    PyQt(Python+Qt)学习随笔:QTreeWidgetItem项是否禁用disable、隐藏isHidden和允许选中isSelected
    查看 Apache并发请求数及其TCP连接状态
    Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程
    Apache下禁止使用IP直接访问本站的配置方法
    apache两种工作模式详解
    合理设置apache的连接数及进程工作方式
    apache 工作模式
    Windows下Apache的优化
  • 原文地址:https://www.cnblogs.com/daretodream/p/1796589.html
Copyright © 2011-2022 走看看