校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 網站生成靜態頁面攻略2:數據采集

網站生成靜態頁面攻略2:數據采集

熱門標簽:鳳臺百度地圖標注店 武夷山旅游地圖標注 個人可以辦理400電話么 金昌電話機器人價格 萊西電子地圖標注 怎么在地圖標注自己 外呼系統API接口 縣域地圖標注打印店 修改地圖標注

采集原理:
    采集程序的主要步驟如下:
    一、獲取被采集的頁面的內容
    二、從獲取代碼中提取所有用的數據
    一、獲取被采集的頁面的內容
    我目前所掌握的ASP常用獲取被采集的頁面的內容方法:
    1、用serverXMLHTTP組件獲取數據

Function GetBody(weburl) 
'-----------------翟振愷(小琦)
    '創建對象
    Dim ObjXMLHTTP
    Set ObjXMLHTTP=Server.CreateObject("MSXML2.serverXMLHTTP")
    '請求文件,以異步形式
    ObjXMLHTTP.Open "GET",weburl,False
    ObjXMLHTTP.send
    While ObjXMLHTTP.readyState > 4
        ObjXMLHTTP.waitForResponse 1000
    Wend
    '得到結果
     GetBody=ObjXMLHTTP.responseBody
    '釋放對象
     Set ObjXMLHTTP=Nothing
'-----------------翟振愷(小琦)
End Function
     調用方法:GetBody(文件的URLf地址)
    2、或XMLHTTP組件獲取數據

Function GetBody(weburl) 
'-----------------翟振愷(小琦)
    '創建對象
    Set Retrieval = CreateObject("Microsoft.XMLHTTP") 
    With Retrieval 
     .Open "Get", weburl, False, "", "" 
     .Send 
     GetBody = .ResponseBody
     End With 
    '釋放對象
    Set Retrieval = Nothing 
'-----------------翟振愷(小琦)
End Function
    調用方法:GetBody(文件的URLf地址)
    這樣獲取的數據內容還需要進行編碼轉換才可以使用

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
    調用方法:BytesToBstr(要轉換的數據,編碼)'編碼常用為GB2312和UTF-8。
    二、從獲取代碼中提取所有用的數據
    1、用ASP內置的MID函數截取需要的數據

Function body(wstr,start,over)
'-----------------翟振愷(小琦)
start=Newstring(wstr,start)
'設置需要處理的數據的唯一的開始標記
over=Newstring(wstr,over)
'和start相對應的就是需要處理的數據的唯一的結束標記
body=mid(wstr,start,over-start)
'設置顯示頁面的范圍
'-----------------翟振愷(小琦)
End Function
    調用方法:body(被采集的頁面的內容,開始標記,結束標記)
    2、用正則獲取需要的數據

Function body(wstr,start,over)
'-----------------翟振愷(小琦)
Set xiaoqi = New Regexp'設置配置對象
xiaoqi.IgnoreCase = True'忽略大小寫
xiaoqi.Global = True'設置為全文搜索
xiaoqi.Pattern =  "”start“.+?”over“"'正則表達式 
Set Matches =xiaoqi.Execute(wstr)'開始執行配置
set  xiaoqi=nothing 
body=""
For Each Match in Matches
body=bodyMatch.Value '循環匹配
Next
'-----------------翟振愷(小琦)
End Function
    調用方法:body(被采集的頁面的內容,開始標記,結束標記)
    采集程序祥細思路:
    1、取得網站的分頁列表頁的每頁地址
        目前絕大部分動態網站的分頁地址都有規則,如:
動態頁
第一頁:index.asp?page=1
第二頁:index.asp?page=2
第三頁:index.asp?page=3
.....

靜態頁
第一頁:page_1.htm
第二頁:page_2.htm
第三頁:page_3.htm
.....
    取得網站的分頁列表頁的每頁地址,只需要用變量替代每頁地址的變化的字符即可如:page_%="page"%>.htm
    2、獲取被采集網站的分頁列表頁內容
    3、從分頁列表代碼中提取被采集的內容頁面的URL連接地址
絕大部分分頁頁面里的內容頁連接也有固定規則,如:

a href="url1">連接1/a> br>
a href="url2">連接2/a> br>
a href="url3">連接3/a> br>
    用以下代碼就可以獲得一個URL連接集合

'-----------------翟振愷(小琦)
Set xiaoqi = New Regexp
xiaoqi.IgnoreCase = True
xiaoqi.Global = True
xiaoqi.Pattern =  ””“.+?”““
Set Matches =xiaoqi.Execute(頁面列表內容)
set  xiaoqi=nothing 
url=""
For Each Match in Matches
url=urlMatch.Value 
Next
'-----------------翟振愷(小琦)
    4、取得被采集的內容頁面內容,根據”提取標記“從被采集的內容頁面分別截取要取得的數據。
因為是動態生成的頁面,大多數內容頁面內都有相同的html標記,我們可以根據這些有規則的標記提取需要的各個部分的內容。如:
每個頁面都有網頁標題title>網頁標題/title>,用我上面寫的MID截取函數就可以獲得title>/title>之間的值,也可以用正則表達式來獲得。
例:

body("title>網頁標題/title>","title>","/title>")

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

巨人網絡通訊聲明:本文標題《網站生成靜態頁面攻略2:數據采集》,本文關鍵詞  網站,生成,靜態,頁面,攻略,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《網站生成靜態頁面攻略2:數據采集》相關的同類信息!
  • 本頁收集關于網站生成靜態頁面攻略2:數據采集的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 即墨市| 德庆县| 昭觉县| 方山县| 武强县| 四子王旗| 休宁县| 彰化市| 江北区| 怀仁县| 南华县| 米泉市| 丹巴县| 瑞金市| 平利县| 资源县| 阳高县| 长阳| 手机| 闵行区| 云安县| 中宁县| 广宗县| 安阳市| 澳门| 永顺县| 正蓝旗| 惠来县| 通化市| 静安区| 漯河市| 神农架林区| 七台河市| 花莲县| 民和| 新乡市| 府谷县| 吴旗县| 万安县| 炎陵县| 泰顺县|