从新浪提取上海天气的vbs
程序员文章站
2023-12-24 13:08:57
起始很简单的。分析一下抓下来的代码,然后处理一下就行了。文件:weather.vbs 放入计划任务,每天早上8:30执行,生成饱含文件供首页使用执行方式:cscript d:上海国家会计学院网站\内...
起始很简单的。分析一下抓下来的代码,然后处理一下就行了。
文件: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." 包含文件所在目录,最后的号是必须的
dim fs
dim f
on error resume next
set fs = createobject("scripting.filesystemobject")
dim wstr
wstr=gethttppage("https://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=https://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
***********************************************
文件: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." 包含文件所在目录,最后的号是必须的
dim fs
dim f
on error resume next
set fs = createobject("scripting.filesystemobject")
dim wstr
wstr=gethttppage("https://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=https://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
***********************************************