欢迎光临
我们一直在努力

一个例子:从新浪提取上海天气的vbs

建站超值云服务器,限时71元/月

起始很简单的。分析一下抓下来的代码,然后处理一下就行了。

文件:weather.vbs  放入计划任务,每天早上8:30执行,生成饱含
文件供首页使用
执行方式:cscript d:\上海国家会计学院网站\内部社区\vbs\weather.vbs
********************************************************************************************************
symantec scriptblocking authenticated file
e9815bb2-5813-400b-9ed5-156350335de3

    const incfilepath            = "d:\上海国家会计学院网站\内部社区\web\club\"        包含文件所在目录,最后的\号是必须的
    const logfile                = "d:\club-job-log.txt"                    日志文件
    const incweather            = "weather-report.asp"        包含文件所在目录,最后的\号是必须的
    dim fs
    dim f
    on error resume next

    set fs        = createobject("scripting.filesystemobject")
     dim wstr
     wstr=gethttppage("http://sh.sina.com.cn/")
     response.write wstr
     
     if instr(wstr,"<img src=images/sina_sh/new/sh24.gif width=172 height=17>")>0 then
        wstr=mid(wstr,instr(wstr,"<img src=images/sina_sh/new/sh24.gif width=172 height=17>")+len("<img src=images/sina_sh/new/sh24.gif width=172 height=17>"))
        wstr=mid(wstr,instr(wstr,"<table width=160 border=0 cellspacing=0 cellpadding=0>"))
        wstr=mid(wstr,1,instr(wstr,"</table>")+len("</table>"))
     end if     
     wstr=replace(wstr,"<tr><td colspan=3 align=right><a href=http://weather.sina.com.cn/>其他城市</a><font color=#015b7b>>></font></td></tr>","")
     dim pos1,pos2
     pos1=instr(wstr,"<tr>")
     pos2=instr(pos1,wstr,"</tr>")
     wstr=right(wstr,len(wstr)-pos2-4-4)
     wstr=replace(wstr,"</table>","")
    wstr=replace(wstr,"width=35","")
    wstr=replace(wstr,"width=45","")
    wstr=replace(wstr,"width=60","")
     response.write wstr
     if err.number=0 then
        set f = fs.createtextfile(incfilepath & incweather,true)    
        f.write wstr
        set f = nothing
     else
        wscript.echo err.description
         end if
    set fs        = nothing

    sub writelog(msg)
        on error resume next
        dim f
        set f = fs.opentextfile(logfile,8,true)
        f.writeline now & " – " & msg
        f.close
     end sub

    function gethttppage(url)
        on error resume next
        dim http
        set http=createobject("msxml2.xmlhttp")
        http.open "get",url,false
        http.send()
        if http.readystate<>4 then
            exit function
        end if
        gethttppage=bytes2bstr(http.responsebody)
        set http=nothing
        if err.number<>0 then err.clear                 
    end function
    
    function bytes2bstr(vin)
        dim strreturn
        dim i,thischarcode,nextcharcode
        strreturn = ""
        for i = 1 to lenb(vin)
            thischarcode = ascb(midb(vin,i,1))
            if thischarcode < &h80 then
                strreturn = strreturn & chr(thischarcode)
            else
                nextcharcode = ascb(midb(vin,i+1,1))
                strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode))
                i = i + 1
            end if
        next
        bytes2bstr = strreturn
    end function    

***********************************************
 

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 一个例子:从新浪提取上海天气的vbs
分享到: 更多 (0)

相关推荐

  • 暂无文章