主頁 > 知識庫 > asp采集HTML內(nèi)容常用代碼,詳講正則采集

asp采集HTML內(nèi)容常用代碼,詳講正則采集

熱門標(biāo)簽:石家莊慧營銷外呼系統(tǒng) 梧州市地圖標(biāo)注 世界地圖標(biāo)注了哪些城市 創(chuàng)意電話機(jī)器人 地圖標(biāo)注陽江 外呼線路批發(fā) java外呼系統(tǒng)是什么 武穴地圖標(biāo)注 濟(jì)源電銷外呼系統(tǒng)線路
先說一下采集原理:

采集程序的主要步驟如下:

一、獲取被采集的頁面的內(nèi)容
二、從獲取代碼中提取所有用的數(shù)據(jù)

一、獲取被采集的頁面的內(nèi)容

我目前所掌握的ASP常用獲取被采集的頁面的內(nèi)容方法:

1、用serverXMLHTTP組件獲取數(shù)據(jù)
復(fù)制代碼 代碼如下:

Function GetBody(weburl)
'創(chuàng)建對象
Dim ObjXMLHTTP
Set ObjXMLHTTP=Server.CreateObject("MSXML2.serverXMLHTTP")
'請求文件,以異步形式
ObjXMLHTTP.Open "GET",weburl,False
ObjXMLHTTP.send
While ObjXMLHTTP.readyState > 4
ObjXMLHTTP.waitForResponse 1000
Wend
'得到結(jié)果
GetBody=ObjXMLHTTP.responseBody
'釋放對象
Set ObjXMLHTTP=Nothing
End Function
調(diào)用方法:
GetBody(文件的URLf地址)

2、或XMLHTTP組件獲取數(shù)據(jù)
復(fù)制代碼 代碼如下:

Function GetBody(weburl)
'創(chuàng)建對象
Set Retrieval = CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "Get", weburl, False, "", ""
.Send
GetBody = .ResponseBody
End With
'釋放對象
Set Retrieval = Nothing
End Function

調(diào)用方法:
GetBody(文件的URLf地址)

這樣獲取的數(shù)據(jù)內(nèi)容還需要進(jìn)行編碼轉(zhuǎn)換才可以使用
復(fù)制代碼 代碼如下:

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

調(diào)用方法:BytesToBstr(要轉(zhuǎn)換的數(shù)據(jù),編碼)'編碼常用為GB2312和UTF-8
二、從獲取代碼中提取所有用的數(shù)據(jù)
目前我掌握的方法有:
1、用ASP內(nèi)置的MID函數(shù)截取需要的數(shù)據(jù)
復(fù)制代碼 代碼如下:

Function body(wstr,start,over)
start=Newstring(wstr,start)
'設(shè)置需要處理的數(shù)據(jù)的唯一的開始標(biāo)記
over=Newstring(wstr,over)
'和start相對應(yīng)的就是需要處理的數(shù)據(jù)的唯一的結(jié)束標(biāo)記
body=mid(wstr,start,over-start)
'設(shè)置顯示頁面的范圍
End Function

調(diào)用方法:body(被采集的頁面的內(nèi)容,開始標(biāo)記,結(jié)束標(biāo)記)
2、用正則獲取需要的數(shù)據(jù)
復(fù)制代碼 代碼如下:

Function body(wstr,start,over)
Set xiaoqi = New Regexp'設(shè)置配置對象
xiaoqi.IgnoreCase = True'忽略大小寫
xiaoqi.Global = True'設(shè)置為全文搜索
xiaoqi.Pattern = "”start“.+?”over“"'正則表達(dá)式
Set Matches =xiaoqi.Execute(wstr)'開始執(zhí)行配置
set xiaoqi=nothing
body=""
For Each Match in Matches
body=bodyMatch.Value '循環(huán)匹配
Next
End Function

調(diào)用方法:body(被采集的頁面的內(nèi)容,開始標(biāo)記,結(jié)束標(biāo)記)
采集程序祥細(xì)思路:
1、取得網(wǎng)站的分頁列表頁的每頁地址
目前絕大部分動態(tài)網(wǎng)站的分頁地址都有規(guī)則,如:
動態(tài)頁
第一頁:index.asp?page=1
第二頁:index.asp?page=2
第三頁:index.asp?page=3
.....

靜態(tài)頁
第一頁:page_1.htm
第二頁:page_2.htm
第三頁:page_3.htm
.....
取得網(wǎng)站的分頁列表頁的每頁地址,只需要用變量替代每頁地址的變化的字符即可如:page_%="page"%>.htm

2、獲取被采集網(wǎng)站的分頁列表頁內(nèi)容
3、從分頁列表代碼中提取被采集的內(nèi)容頁面的URL連接地址
絕大部分分頁頁面里的內(nèi)容頁連接也有固定規(guī)則,如:
a href="url1">連接1/a> br>
a href="url2">連接2/a> br>
a href="url3">連接3/a> br>

用以下代碼就可以獲得一個URL連接集合
復(fù)制代碼 代碼如下:

Set xiaoqi = New Regexp
xiaoqi.IgnoreCase = True
xiaoqi.Global = True
xiaoqi.Pattern = ””“.+?”““
Set Matches =xiaoqi.Execute(頁面列表內(nèi)容)
set xiaoqi=nothing
url=""
For Each Match in Matches
url=urlMatch.Value
Next

4、取得被采集的內(nèi)容頁面內(nèi)容,根據(jù)”提取標(biāo)記“從被采集的內(nèi)容頁面分別截取要取得的數(shù)據(jù)

因?yàn)槭莿討B(tài)生成的頁面,大多數(shù)內(nèi)容頁面內(nèi)都有相同的html標(biāo)記,我們可以根據(jù)這些有規(guī)則的標(biāo)記提取需要的各個部分的內(nèi)容。
如:
每個頁面都有網(wǎng)頁標(biāo)題title>網(wǎng)頁標(biāo)題/title>,用我上面寫的MID截取函數(shù)就可以獲得title>/title>之間的值,也可以用正則表達(dá)式來獲得。
例:body("title>網(wǎng)頁標(biāo)題/title>","title>","/title>")
您可能感興趣的文章:
  • javascript+HTML5自定義元素播放焦點(diǎn)圖動畫
  • css3元素簡單的閃爍效果實(shí)現(xiàn)(html5 jquery)
  • 用正則查找html中有id屬性的html標(biāo)簽
  • asp自動補(bǔ)全html標(biāo)簽自動閉合(正則表達(dá)式)
  • php正則過濾html標(biāo)簽、空格、換行符的代碼(附說明)
  • asp.net正則表達(dá)式刪除指定的HTML標(biāo)簽的代碼
  • Java/Js下使用正則表達(dá)式匹配嵌套Html標(biāo)簽
  • 正則表達(dá)式與HTML5新元素

標(biāo)簽:甘南 唐山 揭陽 滁州 南寧 來賓 淮北 迪慶

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《asp采集HTML內(nèi)容常用代碼,詳講正則采集》,本文關(guān)鍵詞  asp,采集,HTML,內(nèi)容,常用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《asp采集HTML內(nèi)容常用代碼,詳講正則采集》相關(guān)的同類信息!
  • 本頁收集關(guān)于asp采集HTML內(nèi)容常用代碼,詳講正則采集的相關(guān)信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章