您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > ASP >

从新浪提取上海天气的vbs

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 20:00 点击:
起始很简单的。分析一下抓下来的代码,然后处理一下就行了。


文件:weather.vbs 放入计划任务,每天早上8:30执行,生成饱含
文件供首页使用
执行方式:cscript D:上海国家会计学院网站\内部社区vbsweather.vbs
********************************************************************************************************
Symantec ScriptBlocking Authenticated File
E9815BB2-5813-400B-9ED5-156350335DE3

const incFilePath = "D:上海国家会计学院网站\内部社区webclub" 包含文件所在目录,最后的号是必须的
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="/edu/UploadPic/2007-12/200712913347445.gif" width=172 height=17>")>0 then
wstr=mid(wstr,instr(wstr,"<img src="/edu/UploadPic/2007-12/200712913347445.gif" width=172 height=17>")+len("<img src="/edu/UploadPic/2007-12/200712913347445.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("MSxml(标准化越来越近了)2.xml(标准化越来越近了)HTTP")
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


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


    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • WAP常见问题问答大全(四)
      • ASP开发必备:WEB打印代码大全
      • ASP调用系统ping命令
      • asp缓存技术
      • ASP教程:第三篇 ASP基础
      • 用ASP+XML打造留言本(4)
      • 关于ASP Recordset 分页出现负数解决方法及建议
      • 用asp怎样编写文档搜索页面(5)
      • ASP处理多关键词查询实例代码
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1