象并进行初始化设置。
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
''处理抓取回来的数据需要调用adodb.stream组件并进行初始化设置。%>
''以下即为页面显示部分
<%
Dim wstr,str,url,start,over,city
''定义一些需要使用到的变量
city = Request.QueryString("id")
''
程序传回的ID变量(即用户选择的城市)赋给id
url="http://appnews.qq.com/cgi-bin/news_qq_search?city="&city&""
''这里设置需要抓取的页面地址,当然你也可以直接指定某个地址而不使用变量
wstr=getHTTPPage(url)
''获取指定页面的全部数据
start=Newstring(wstr," <html>")
''这里设置需要处理的数据的头部,这个变量应视不同情况而设置,具体内容可以通过查看需要抓取的页面的源代码来确定。因为在这个
程序里我们需要抓取整个页面,所以设置为页面全部抓取。注意,设置的内容必须是页面内容唯一的,不可以重复。
over=Newstring(wstr," </HTML>")
''和start相对应的就是需要处理的数据的尾部,同样的,设置的内容必须是页面中唯一的。
body=mid(wstr,start,over-start)
''设置显示页面的范围
''下面就是动用乾坤挪移***的时候了,通过replace可以用一些字符替换掉数据中指定的字符。
body = replace(body,"skin1","天气预报 - 斯克网络")
body = replace(body,"http://appnews.qq.com/cgi-bin/news_qq_search?city","tianqi.asp?id")
''本
程序中已经完成了替换的工作,如果有其他需要的话可以继续进行类似的替换操作。
response.write body
引用: 远程获取内容,并将内容存在本地电脑上,包括任何文件
<%
''----------远程获取内容,并将内容存在本地电脑上,包括任何文件!----------
''On Error Resume Next
''Set the content type to the specific type that you are sending.
''Response.ContentType = "IMAGE/JPEG"
''-------------------------------定义输出格式-----------------------------
Path=request.querystring("p")
sPath = Path
if left(lcase(path),7) <> "http://"; then
''-------------如果前面没有http就是本地文件,交给LocalFile处理------------
LocalFile(path)
else
''--------------------否则为远程文件,交给RemoteFile处理------------------
RemoteFile(Path)
end if
''Response.Write err.Description
sub LocalFile(Path)
''-------------------如果为本地文件则简单的跳转到该页面-------------------
Response.Redirect Path
End Sub
Sub RemoteFile(sPath)
''-------------------------处理远程文件函数------------------------------
FileName = GetFileName(sPath)
''-------------GetFileName为把地址转换为合格的文件名过程-------------
FileName = Server.MapPath("/UploadFile/Cache/" & FileName)
Set objFso = Server.CreateObject("Scripting.FileSystemObject")
''Response.Write fileName
if objFso.FileExists(FileName) Then
''--------------检查文件是否是已经访问过,如是,则简单跳