您的位置:首页网页设计ASP实例 → 从新浪提取上海天气的vbs

从新浪提取上海天气的vbs

时间:2004/11/7 2:58:00来源:本站整理作者:蓝点我要评论(0)

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





'文件: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,"")>0 then

wstr=mid(wstr,instr(wstr,"")+len(""))

wstr=mid(wstr,instr(wstr,""))

wstr=mid(wstr,1,instr(wstr,"
")+len(""))

end if

wstr=replace(wstr,"其他城市>>","")

dim pos1,pos2

pos1=instr(wstr,"")

pos2=instr(pos1,wstr,"")

wstr=right(wstr,len(wstr)-pos2-4-4)

wstr=replace(wstr,"","")

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





'***********************************************

'




相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 迅雷新手完全入门手册 asp下面javascript上传图片限制格式大小方法告诉大家网页弹出窗口应用总结ASP常见错误类型大全asp常见错误分析和解决办法

人气排行 总是弹出visual studio 实时调试器 三种解决SQLSERVER存储过程及调用详解Asp获取真实IP地址ASP中连接Mssql的几种方法一个简单好用的UBB编辑器(含代码)如何用Split将字符串转换为数组并获取数组下ASP防止表单重复提交的办法告诉你免费的简单聊天室源代码