滚动天气预报-调用天气网页

<%
On Error Resume Next
Function RemoveHTML(strHTML)
Dim objRegExp, Match, Matches 
Set objRegExp = New Regexp

objRegExp.IgnoreCase = True
objRegExp.Global = True
'取闭合的<>
objRegExp.Pattern = "<.+?>"
'进行匹配
Set Matches = objRegExp.Execute(strHTML)

' 遍历匹配集合,并替换掉匹配的项目
For Each Match in Matches 
strHtml=Replace(strHTML,Match.Value,"")
Next
RemoveHTML=strHTML
Set objRegExp = Nothing
End Function
'判断数据库里是否有当天的天气预报

'如果没有,就读取未能远程数据并保存在数据库内
'声明一个函数,用于读取远程文件
function getHTTPPage(url)
dim Http
set Http=server.createobject("MSXML2.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then 
exit function
end if
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")
set http=nothing
if err.number<>0 then err.Clear 
end function

'声明一个函数,对读取的远程文件进行汉字转码
Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText 
objstream.Close
set objstream = nothing
End Function


'要偷的网页的地址,你只需要从 http://www.weathercn.com/找到你要偷取的页面就行
Url=" http://weather.news.qq.com/inc/ss248.htm"

Html = getHTTPPage(Url) '开始读取远程地址
Html2=RemoveHTML(Html)
'搜索要偷取的内容的开始位置
tqStr_start = instr(Html2,"A.color4:hover { COLOR: #DD7D02;TEXT-DECORATION: underline}")

tqStr_end = instr(Html2,"function")+1

Html1 = Mid(Html2,tqStr_start+59,tqStr_end-305)
Html3 = "<font color=#FF3300 size=2>"&Html1&"</font>"

Html4=replace(Html3,"合肥","<b><font color=#FF3300 size=2>合肥天气</font></b>")

%>
<font color=#FF3300 size=2>今日</font><script language=JavaScript>
<!-- Begin
 
 today=new Date();
 function initArray(){
   this.length=initArray.arguments.length
   for(var i=0;i<this.length;i++)
   this[i+1]=initArray.arguments[i]  }
   var d=new initArray(
     "星期日",
     "星期一",
     "星期二",
     "星期三",
     "星期四",
     "星期五",
     "星期六");
document.write(
     "<font color=#FF3300 size=2> ",
     today.getYear(),"年",
     today.getMonth()+1,"月",
     today.getDate(),"日  ",
     d[today.getDay()+1],
     "</font>" );
//  End -->
</script> <%=Html4%>
==========================================================
调用QQ天气 显示完整的数据(根据以上代码修改)

<%
'调用天气
On Error Resume Next
Function RemoveHTML(strHTML)
Dim objRegExp, Match, Matches
Set objRegExp = New Regexp
objRegExp.IgnoreCase = True
objRegExp.Global = True
'取闭合的<>
objRegExp.Pattern = "<.+?>"
'进行匹配
Set Matches = objRegExp.Execute(strHTML)
' 遍历匹配集合,并替换掉匹配的项目
For Each Match in Matches
strHtml=Replace(strHTML,Match.Value,"")
Next
RemoveHTML=strHTML
Set objRegExp = Nothing
End Function
'判断数据库里是否有当天的天气预报
'如果没有,就读取未能远程数据并保存在数据库内
'声明一个函数,用于读取远程文件
function getHTTPPage(url)
dim Http
set Http=server.createobject("MSXML2.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
exit function
end if
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")
'Response.Write(getHTTPPage)
set http=nothing
if err.number<>0 then err.Clear
end function
'声明一个函数,对读取的远程文件进行汉字转码
Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function

'要调用网页的地址,你只需要从 http://www.weathercn.com/找到你要偷取的页面就行
Url=" http://weather.news.qq.com/inc/ss300.htm"
Html = getHTTPPage(Url) '开始读取远程地址
Html= replace(Html,"<img src=","&lt;img src=")
Html2=RemoveHTML(Html & "<br>")
'搜索要偷取的内容的开始位置
tqStr_start = instr(Html2,"height=""6"">")
tqStr_end = instr(Html2,"&lt;img src=""/images/r_tembg3.gif""")

Html1 = Mid(Html2,tqStr_start+11,tqStr_end-tqStr_start-11)
Html1 = replace(Html1,"&lt;","<")
Html1 = replace(Html1,"/images/"," http://weather.news.qq.com/images/")
Html3 = "<font color=#FF3300 size=2>"&Html1&"</font>"
Html4=replace(Html3,"湛江","<b><font color=#FF3300 size=2>湛江天气</font></b>")
%>
<%=Html4%>
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值