Home >Backend Development >XML/RSS Tutorial >Detailed explanation of xmlhttp component to obtain remote files and filter out target data

Detailed explanation of xmlhttp component to obtain remote files and filter out target data

黄舟
黄舟Original
2017-03-27 16:47:272170browse

Detailed explanationxmlhttp component obtains remote file and filters out the target data

getfile.asp

<%
&#39;&#39;利用xmlhttp组件获取远程文件保存到当前空间
&#39;&#39;此是网站建设中的一个实例,远程获取一个网页内容并筛选出相关的天气数据,当然可以跳过文件本地存储再获取数据
&#39;&#39;参考了xoyu的函数,在此感谢
fileurl="http://www.hbqx.gov.cn/other/tqyb/inc_city_hb.asp"
dotloc=InStrRev(fileurl,".")
filepath="thistest"&mid(fileurl,dotloc) &#39;&#39;建立同类型文件名
&#39;&#39;filepath="thistest.htm"
   
call saveRemoteFile(filepath,fileurl)
   
sub SaveRemoteFile(LocalFileName,RemoteFileUrl)
dim Ads,Retrieval,GetRemoteData
Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "Get", RemoteFileUrl, False, "", ""
.Send
GetRemoteData = .ResponseBody
&#39;&#39; GetDetail = .ResponseText &#39;&#39;对文本型文件可直接获取内容,但不能支持中文,不知道如何解决
End With
   
Set Retrieval = Nothing
&#39;&#39;RESPONSE.WRITE GetDetail
   
Set Ads = Server.CreateObject("Adodb.Stream") &#39;&#39;生成对应文件
With Ads
.Type = 1
.Open
.Write GetRemoteData
.SaveToFile server.MapPath(LocalFileName),2
.Cancel()
.Close()
End With
Set Ads=nothing
end sub
   
&#39;&#39;以上完成远程存储文件,以下只适用于对文本型文件的操作www.knowsky.com
set fso=server.createobject("scripting.filesystemobject") &#39;&#39;读取文件内容
set fileout=fso.opentextfile(server.mappath(filepath),1)
content=fileout.readall
set fileout=nothing
set fso=nothing
&#39;&#39;response.write content
   
contentarr=split(content,"<td") &#39;&#39;根据内容进行筛选
for i=1 to ubound(contentarr)
if instr(contentarr(i),"恩施") then thisloc=i
next
dim xu(5)
for j=0 to 4
con1=contentarr(thisloc+j)
start1=instr(con1,">")
con1=right(con1,len(con1)-start1)
stop1=instr(con1,"<")
con1=left(con1,stop1-1)
str=str&contentarr(thisloc+j)
xu(j)=trim(con1)
next
if xu(1)<>"" then
response.write "document.write(&#39;恩施州未来24小时天气预报:"&xu(1)&",最低温度"&xu(2)&"摄氏度,最高温度"&xu(3)&"摄氏度,风向:"&xu(4)&".--武汉中心气象台发布&#39;);"
else
response.write "document.write(&#39;暂未发布&#39;);"
end if
&#39;&#39;response.write server.htmlencode(str)
%>

In another htm pageQuoteShow the content obtained

<script src="getfile.asp"></script>

The above is the detailed content of Detailed explanation of xmlhttp component to obtain remote files and filter out target data. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn