〖文章分类:电脑·手机·网络 / 网站设计·开发·优化〗〖阅读选项〗 |
|
<% On Error Resume Next Server.ScriptTimeOut=9999999 Function getHTTPPage(Path) t = GetBody(Path) getHTTPPage=BytesToBstr(t,"GB2312") End function
Function bytes2BSTR(vIn) strReturn = "" For j = 1 To LenB(vIn) ThisCharCode = AscB(MidB(vIn,j,1)) If ThisCharCode < &H80 Then strReturn = strReturn & Chr(ThisCharCode) Else NextCharCode = AscB(MidB(vIn,j+1,1)) strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode)) j = j + 1 End If Next bytes2BSTR = strReturn End Function
Function GetBody(url) on error resume next Set Retrieval = CreateObject("Microsoft.XMLHTTP")
Retrieval.Open "Get", url, False, "", "" Retrieval.Send GetBody =Retrieval.responsebody
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
%>
<% Dim wstr,str,url,start,over,city city = Request.QueryString("id") url="http://cn.finance.yahoo.com/q?s=USDKRW=X&d=c" wstr=getHTTPPage(url) start=Newstring(wstr,"最後交易") over=Newstring(wstr,"买方出价") body=mid(wstr,start,over-start)
start2=Instr(body,"<b>")+3 over2=Instr(body,"</b>") body2=mid(body,start2,over2-start2)
response.write body2 %> 抓取网页。偶要实现实实更新天气预报。利用了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.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>"
%> <!-- 结束 --> </body></html>
|
文章作者:未知 更新日期:2005-06-21 |
〖文章浏览:〗〖打印文章〗〖发送文章〗 |
|
|
|