采集原理---采集技術篇---XMLHTTP
2024-05-04 11:02:52
供稿:網友
最近一段時間,采集很熱門,從新聞小偷,到音樂小偷,到新聞采集,Flash采集,都有他的蹤影,現在還有很多的人對采集都很感興趣,為了服務大家,我也正在寫一套采集程序,名字為 心意采集程序 ,現在我講一下,采集用到的相關技術。
下面講到的也不是很高深的XMLHTTP技術,我也是稍稍講一下,一個采集需要用到的幾塊內容
如果你需要了解更多的問題,請去www.google.com 搜索 XMLHTTP 技術 你將會得到更多的幫助,如果大家有什么疑問的話,可以在論壇上回貼
下面只講到如何在網上得到數據,并不涉及到數據處理
第一 XMLHTTP 技術
http://www.0579.info/study/exploitation/net/58685.htm
上面那個地址,那篇文章講的根本原理已經很詳細了,但是我們一般采集的話,剛開始不太需要了解太多。只要實用就可以了,等以后不夠用的時候,再去找相關文檔也來得急
首先,我們需要建立一個XMLHTTP對象
微軟發布的xmlhttp組件已經有很多的版本了,我知道的就有以下幾種:
"MSXML2.ServerXMLHTTP.4.0"
"MSXML2.ServerXMLHTTP.3.0"
"MSXML2.ServerXMLHTTP"
"MSXML2.XMLHTTP.5.0"
"MSXML2.XMLHTTP.4.0"
"MSXML2.XMLHTTP.3.0"
"MSXML2.XMLHTTP"
"Microsoft.XMLHTTP
以上有這么多種組件,我們當然是需要申請最高版本的對象嘍,那有什么辦法可以實現呢
下面我拿出一段代碼,大家可以看看,他是按最高版本申請XMLHTTP對象的
Dim ArrProgId,Prog,Flag,XmlHttpCom
ArrProgId = array("MSXML2.ServerXMLHTTP.4.0", "MSXML2.ServerXMLHTTP.3.0", "MSXML2.ServerXMLHTTP", "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP","Microsoft.XMLHTTP")
For Each Prog In arrProgId
If (IsObjInstalled(Prog) = true) Then
XmlHttpCom = Prog
Exit For
End If
Next
'// <summary>
'// Rem 檢查組件是否支持 是返回 True 否返回 False
'// </summary>
Public Function IsObjInstalled(strClassString)
On Error Resume Next
'//設置初始化值
IsObjInstalled = False
Err = 0
'//測試代碼
Dim xTestObj
Set xTestObj = Server.createObject(strClassString)
If 0 = Err Then IsObjInstalled = True
'//清除所申請的對象
Set xTestObj = Nothing
Err = 0
End Function
上面那段代碼就是申請到當前服務器支持的最高版本的XMLHTTP對象了
下面我們講一下采集功能函數
'GetFileText為采集功能函數
Public Function GetFileText(url)