zoukankan      html  css  js  c++  java
  • 书香电子书下载地址分析器

    哈哈,找不到快手语言的编辑器,就按照js的来用吧,反正我感觉语法类似。

    快手(aauto),开发桌面软件的一个利器,具体情况可以问度娘。

    这段代码,是用来分析书香电子书排行榜中小说的下载地址的,不过这个地址貌似只能用迅雷等工具下载,直接点击下载不了,不知道为什么。
    用到的知识点有hash表、数组、下载源码及简单的io操作。知识很基础,给自己留存资料,如有新手学习,自认为也是个不错的参考


    import win.ui;
    import web.mshtml
    mainForm = ..win.form(text="AAuto工程3";right=176;bottom=99)
    mainForm.add(button={cls="button";text="分析地址";left=30;top=30;right=130;bottom=70;z=1})
    
    //采集指定块的小说地址
    var ids = {1;2;3;4;5;6;7;8;9}
    
    mainForm.button.oncommand = function(id,event){
        //定义hash表,存储下载地址
        tdist :=  {};
        
        //获取源码
        http = web.mshtml();
        http.document.designMode = "on"
        http.go("http://www.sxcnw.net/topjs.html")
    
        //获取列表块
        eles = http.queryEles( className = "ranks_box green_box")
        
        for(i=1;#ids){
            //通过正则获取a标签内容
            for m in string.gmatch(eles[ids[i]].innerhtml,'href="(.*?)"') { 
    
                //屏蔽更多的链接
                s,e = string.indexOf(m,".html")
                if( s )
                    continue ;
                    
                //将a标签内容存起来,进行重复过滤
                var key = m
                if( not tdist[key]){
                    tdist[key] = "http://www.sxcnw.net" + m
                }
            }
        }
        
        //将最后分析结果放到d盘下
        file = io.open("d:/urls.txt","w")    
        for(k,v in tdist)
            file.write(downloadurl(v)+'
    ')
        file.close()
        
        mainForm.msgbox("处理完毕")
    }
    
    //根据之前a标签地址,分析出真实下载地址
    //不知道怎么回事,只能通过迅雷下载,不过不影响我最终使用,就先这样了
    downloadurl = function(url){
        http = web.mshtml();
        http.document.designMode = "on"
        http.go(url)    
        eles = http.queryEles(className = "thelinks")
        
        downurl = "http://www.sxcnw.net/"+string.match(eles[2].innerhtml,'href="(.*?)"')
        downurl = string.replace(downurl,"amp;","")
        http.go(downurl)
        eles = http.queryEles(className="flash")
        downurl = string.match(eles.innerhtml,'href="(.*?)"')
        return  downurl;
    }
    
    mainForm.show() 
    win.loopMessage(); 
    书香电子书下载地址
  • 相关阅读:
    SM9-加解密
    SM9-密钥封装
    Cookie和Session的区别
    直观简单讲解单点登录的流程原理
    分布式环境下Session共享问题解决和原理讲解
    以微博开发平台为例,使用社交账号登录网站
    MD5&MD5盐值加密到BCryptPasswordEncoder
    CompletableFuture异步线程
    git clone 出现fatal: unable to access 'https://github 类错误解决方法
    Python包及其定义和引用详解
  • 原文地址:https://www.cnblogs.com/theluther/p/3838742.html
Copyright © 2011-2022 走看看