婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 采集原理---采集技術篇---XMLHTTP

采集原理---采集技術篇---XMLHTTP

熱門標簽:武夷山旅游地圖標注 外呼系統API接口 修改地圖標注 鳳臺百度地圖標注店 個人可以辦理400電話么 萊西電子地圖標注 縣域地圖標注打印店 金昌電話機器人價格 怎么在地圖標注自己
最近一段時間,采集很熱門,從新聞小偷,到音樂小偷,到新聞采集,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) 
on error resume next '有錯誤時繼續執行代碼
Dim http '定義變量
'Set http=Server.createobject(XmlHttpCom) '申請對象 
Set http=Server.createobject("Microsoft.XMLHTTP") '保險起見,寫出一個服務器一般都支持的版本 
Http.open "GET",url,False '打開對象 用GET方式 等待服務器響應
Http.Send() '發送
If Http.readystate>4 Then '如果服務器沒反應,則退出函數
Exit Function 
End If 

GetFileText=bytes2BSTR(Http.responseBody,"GB2312") '把得到的數據流二進制文件 轉化成文本字符格式 (GB2312)

Set http=Nothing '刪除對象
If err.number>0 Then err.Clear '如果有錯誤,清除錯誤
End Function


'// summary>
'// 采用 ADODB.Stream 處理采集到的數據,把二進制的文件轉成文本字符
'// /summary>
Function Bytes2bStr(vin,cSet)
Dim BytesStream,StringReturn
Set BytesStream = Server.createObject("ADODB.Stream")
BytesStream.Type = 2
BytesStream.Open
BytesStream.WriteText vin
BytesStream.Position = 0
BytesStream.CharSet = cSet
BytesStream.Position = 2
StringReturn =BytesStream.ReadText
BytesStream.close
Set BytesStream = Nothing
Bytes2bStr = StringReturn
End Function


下面我定義一個 路徑變量 URL

URL = "http://ent.sina.com.cn/star/mainland/more.html";

上面是一個網址,如果我們想把上面這個地址采集下來,并顯示出來的話,我們可以這樣操作


URL = "http://ent.sina.com.cn/star/mainland/more.html";

Response.Write GetFileText(URL)


這樣就可以采集到上面網址的內容了
是不是很簡單呢

那采集到數據之后應該怎么操作呢
怎么區分數據,如果得到你想要的數據,如果把得到的數據入庫呢
這是以后需要分析講解的問題了 入庫要注意的地方,用正表達式處理數據


附上 上面代碼的源文件,大家可以下載下去,運行起來試試,是不是真的能采集到數據庫

標簽:通遼 上海 涼山 南京 楚雄 赤峰 清遠 邢臺

巨人網絡通訊聲明:本文標題《采集原理---采集技術篇---XMLHTTP》,本文關鍵詞  采集,原理,---,技術篇,---XMLHTTP,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《采集原理---采集技術篇---XMLHTTP》相關的同類信息!
  • 本頁收集關于采集原理---采集技術篇---XMLHTTP的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 洛扎县| 克东县| 鄂托克旗| 冀州市| 会同县| 富阳市| 南丹县| 陕西省| 赣州市| 万年县| 嘉义县| 汉中市| 韶关市| 眉山市| 玛纳斯县| 新蔡县| 漠河县| 岢岚县| 濮阳市| 屯昌县| 武隆县| 武安市| 银川市| 观塘区| 卢龙县| 汶上县| 正蓝旗| 克什克腾旗| 湘阴县| 故城县| 叶城县| 蕉岭县| 昔阳县| 西林县| 濉溪县| 盐亭县| 喀喇沁旗| 繁昌县| 泌阳县| 青州市| 公安县|