最近一段時間,採集很熱門,從新聞小偷,到音樂小偷,到新聞採集,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對象的
DimArrProgId,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")
ForEachProgInarrProgId
If(IsObjInstalled(Prog)=true)Then
XmlHttpCom=Prog
ExitFor
EndIf
Next
'//<summary>
'// Rem檢查組件是否支持是返回True否返回False
'//</summary>
PublicFunctionIsObjInstalled(strClassString)
OnErrorResumeNext
'//設置初始化值
IsObjInstalled=False
Err=0
'//測試代碼
DimxTestObj
SetxTestObj=Server.createObject(strClassString)
If0=ErrThenIsObjInstalled=True
'//清除所申請的對象
SetxTestObj=Nothing
Err=0
EndFunction
上面那段代碼就是申請到當前服務器支持的最高版本的XMLHTTP對象了
下面我們講一下採集功能函數
'GetFileText為採集功能函數
PublicFunctionGetFileText(url)