抓取網頁。偶要實現實實更新天氣預報。利用了XMLHTTP元件,抓取網頁的指定部分,其實很多的小偷程式要更好用需要分件html原始碼
此例中的被抓取的html原始碼如下
<p align=left>2004年8月24日星期二;白天:晴有時多雲南風3—4級;夜間:晴南風3—4級;氣溫:最高29℃最低19℃ </p>
而程式中是從
以2004年8月24日為關鍵字搜索,直到</p>結速
而抓取的內容變成了2004年8月24日星期二;白天:晴有時多雲南風3—4級;夜間:晴南風3—4級;氣溫:最高29℃最低19℃
乾乾淨淨的了。記錄一下。
複製代碼代碼如下:
<%
On Error Resume Next
Server.ScriptTimeOut=9999999
Function getHTTPPage(Path)
t = GetBody(Path)
getHTTPPage=BytesToBstr(t,GB2312)
End function
Function GetBody(url)
on error resume next
Set Retrieval = CreateObject(Microsoft.XMLHTTP)
With Retrieval
.Open Get, url, False, ,
.Send
GetBody = .ResponseBody
End With
Set Retrieval = Nothing
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
Function Newstring(wstr,strng)
Newstring=Instr(lcase(wstr),lcase(strng))
if Newstring<=0 then Newstring=Len(wstr)
End Function
%>
<html>
<BODY bgColor=#ffffff leftMargin=0 topMargin=0 MARGINHEIGHT=0 MARGINWIDTH=0>
<!-- 開始-->
<%
Dim wstr,str,url,start,over,dtime
dtime=Year(Date)&年&Month(Date)&月&Day(Date)&日
url=http://www.vevb.com/
wstr=getHTTPPage(url)
start=Newstring(wstr,dtime)
over=Newstring(wstr,</p>)
body=mid(wstr,start,over-start)
response.write <MARQUEE onmouseover=this.stop(); onmouseout=this.start();>&body&</marquee>
%>
<!-- 結束-->
</body></html>