asp 小偷采集程序原理與常用函數方法
2024-05-04 11:00:11
供稿:網友
用采集程序的優點有:無須維護網站,因為采集程序中的數據來自其他網站,它將隨著該網站的更新而更新;可以節省服務器資源,一般采集程序就幾個文件,所有網頁內容都是來自其他網站。缺點有:
不穩定,如果目標網站出錯,程序也會出錯,而且,如果目標網站進行升級維護,那么采集程序也要進行相應修改;速度,因為是遠程調用,速度和在本地服務器上讀取數據比起來,肯定要慢一些。
一、事例
下面就XMLHTTP在ASP中的應用做個簡單說明
復制代碼 代碼如下:
<%
'常用函數
'1、輸入url目標網頁地址,返回值getHTTPPage是目標網頁的html代碼
function getHTTPPage(url)
dim Http
set Http=server.createobject("MSXML2.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
exit function
end if
getHTTPPage=bytesToBstr(Http.responseBody,"GB2312")
set http=nothing
if err.number<>0 then err.Clear
end function
'2、轉換亂瑪,直接用xmlhttp調用有中文字符的網頁得到的將是亂瑪,可以通過adodb.stream組件進行轉換
Function BytesToBstr(body)
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 = "GB2312" '轉換原來默認的UTF-8編碼轉換成GB2312編碼,否則直接用XMLHTTP組件調用有中文字符的網頁得到的將是亂碼
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
'下面試著調用http://www.google的html內容
Dim Url,Html
Url="http://www.google";
Html = getHTTPPage(Url)
Response.write Html
%>
二、幾個常用的函數
InStr 函數
描述 返回某字符(string2)串在另一字符串(string1)中第一次出現的位置。
語法 InStr(string1, string2)
例如:
Dim SearchString, SearchChar
SearchString ="http://www.google" ' 要在其中搜索的字符串。
SearchChar = "blue1000" ' 搜索 "blue1000"。
MyBK = Instr(SearchString, SearchChar) ' 返回 8
'如果找不到則返回“0”,例如:
SearchChar = "BK"
MyBK = Instr(SearchString, SearchChar) ' 返回 0
Mid 函數
描述: 從字符串中返回指定數目的字符。
語法 Mid(string, start, over)
例如:
Dim MyBK
MyBK = Mid("我們的BK(www.google)設計", 7, 12) '截取字符串"我們的BK(www.google)設計"第7個字符以后的12個字符'此時MyBK的值就變成了"www.google"
Replace 函數
Dim SearchString, SearchChar
SearchString ="我們的BK設計是一個網站建設資源網站" ' 要在其中搜索的字符串。
SearchString =Replace(SearchString,"BK設計","Www.google")'此時SearchString的值就變成了"我們的Www.google是一個網站建設資源網站"