asp 使用 xmlhttp 抓取頁(yè)面內(nèi)容
發(fā)表時(shí)間:2024-06-03 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]抓取網(wǎng)頁(yè)。偶要實(shí)現(xiàn)實(shí)實(shí)更新天氣預(yù)報(bào)。利用了XMLHTTP組件,抓取網(wǎng)頁(yè)的指定部分。 需要分件html源代碼 此例中的被抓取的html源代碼如下 <p align=left>2004年8月24日星期二;白天:晴有時(shí)多云南風(fēng)3—4級(jí);夜間:晴南風(fēng)3—4級(jí);氣溫:最高29℃最低19℃ <...
抓取網(wǎng)頁(yè)。偶要實(shí)現(xiàn)實(shí)實(shí)更新天氣預(yù)報(bào)。利用了XMLHTTP組件,抓取網(wǎng)頁(yè)的指定部分。
需要分件html源代碼
此例中的被抓取的html源代碼如下
<p align=left>2004年8月24日星期二;白天:晴有時(shí)多云南風(fēng)3—4級(jí);夜間:晴南風(fēng)3—4級(jí);氣溫:最高29℃最低19℃ </p>
而程序中是從
以2004年8月24日為關(guān)鍵字搜索,直到</p>結(jié)速
而抓取的內(nèi)容就變成了"2004年8月24日星期二;白天:晴有時(shí)多云南風(fēng)3—4級(jí);夜間:晴南風(fēng)3—4級(jí);氣溫:最高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>
<!-- 開(kāi)始 -->
<%
Dim wstr,str,url,start,over,dtime
dtime=Year(Date)&"年"&Month(Date)&"月"&Day(Date)&"日"
url="http://www.qianhuaweb.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>"
%>
<!-- 結(jié)束 -->
</body></html>
(出處:Viphot)