• 网页抓取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控件。

  • 相关阅读:
    Linux命令备忘录
    Redis集群部署
    Java BIO、NIO、AIO 学习
    elasticsearch性能因素总结
    tomcat配置文件server.xml详解
    Tomcat性能优化及JVM内存工作原理
    JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
    HttpClient使用学习
    Java的三种代理模式
    yzoi1109&&viojs1042最小步数的一点看法——回文数
  • 原文地址:https://www.cnblogs.com/daretodream/p/1796589.html
Copyright © 2020-2023  润新知