主頁 > 知識庫 > Asp 使用 Microsoft.XMLHTTP 抓取網(wǎng)頁內(nèi)容并過濾需要的

Asp 使用 Microsoft.XMLHTTP 抓取網(wǎng)頁內(nèi)容并過濾需要的

熱門標簽:創(chuàng)意電話機器人 石家莊慧營銷外呼系統(tǒng) 梧州市地圖標注 濟源電銷外呼系統(tǒng)線路 世界地圖標注了哪些城市 地圖標注陽江 java外呼系統(tǒng)是什么 外呼線路批發(fā) 武穴地圖標注
Asp 使用 Microsoft.XMLHTTP 抓取網(wǎng)頁內(nèi)容(沒用亂碼),并過濾需要的內(nèi)容

示例源碼:
復制代碼 代碼如下:

%
Dim xmlUrl,http,strHTML,strBody
xmlUrl = Request.QueryString("u")

REM 異步讀取XML源
Set http = server.CreateObject("Microsoft.XMLHTTP")
http.Open "POST",xmlUrl,false
http.setrequestheader "User-Agent", "Mozilla/4.0"
http.setrequestheader "Connection", "Keep-Alive"
http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
http.Send()

strHTML = BytesToBstr(http.ResponseBody)
set http = nothing

REM 抓取主要內(nèi)容
strBody = GetBody(strHTML,"div id=""Div_newsContentc"" class=""cnt"">","/div>",0,0)
strBody =Replace(strBody,"(本文首發(fā)于","")
strBody =Replace(strBody,"財富動力網(wǎng)/a>,轉(zhuǎn)載請注明出處。)","")
strBody =Replace(strBody,"本文首發(fā)于,轉(zhuǎn)載請注明出處。)","")
strBody =Replace(strBody,"財富動力網(wǎng)/a>:http://www.927953.com","")
strBody =Replace(strBody,"本文首發(fā)于","")

Response.Write RegRemoveHref(strBody)

REM 獲取對應網(wǎng)址響應的HTML
Function BytesToBstr(body)
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 = "UTF-8"

'轉(zhuǎn)換原來默認的UTF-8編碼轉(zhuǎn)換成GB2312編碼,否則直接用
'XMLHTTP調(diào)用有中文字符的網(wǎng)頁得到的將是亂碼
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function


REM 使用正則表達式,抓取之內(nèi)標記的內(nèi)容
Function GetBody(ConStr,StartStr,OverStr,IncluL,IncluR)
If ConStr="$False$" or ConStr="" or IsNull(ConStr)=True Or StartStr="" or IsNull(StartStr)=True Or OverStr="" or IsNull(OverStr)=True Then
GetBody="$False$"
Exit Function
End If
Dim ConStrTemp
Dim Start,Over
ConStrTemp=Lcase(ConStr)
StartStr=Lcase(StartStr)
OverStr=Lcase(OverStr)
Start = InStrB(1, ConStrTemp, StartStr, vbBinaryCompare)
If Start=0 then
GetBody="$False$"
Exit Function
Else
If IncluL=False Then
Start=Start+LenB(StartStr)
End If
End If
Over=InStrB(Start,ConStrTemp,OverStr,vbBinaryCompare)
If Over=0 Or Over=Start then
GetBody="$False$"
Exit Function
Else
If IncluR=True Then
Over=Over+LenB(OverStr)
End If
End If
GetBody=MidB(ConStr,Start,Over-Start)
End Function

REM 過濾a超鏈接
Function RegRemoveHref(HTMLstr)
Set ra = New RegExp
ra.IgnoreCase = True
ra.Global = True
ra.Pattern = "a[^>]+>(.+?)\/a>"

RegRemoveHref = Replace(ra.replace(HTMLstr,"$1"),"href=""http://www.927953.com""","")
END Function
%>

效果圖如下: 
 
您可能感興趣的文章:
  • 用asp+xmlhttp編寫web采集程序
  • asp.net HttpWebRequest自動識別網(wǎng)頁編碼
  • Asp.net XMLHTTP封裝類(GET,Post發(fā)送和接收數(shù)據(jù))
  • 運行asp.net時出現(xiàn) http錯誤404-文件或目錄未找到
  • Javascript+XMLHttpRequest+asp.net無刷新讀取數(shù)據(jù)庫數(shù)據(jù)
  • asp.net利用HttpModule實現(xiàn)防sql注入
  • asp.net 模擬提交有文件上傳的表單(通過http模擬上傳文件)
  • asp頁面提示Response 對象 錯誤 ASP 0156 : 80004005 HTTP 頭錯誤
  • Asp WinHttp.WinHttpRequest.5.1 對象使用詳解 偽造 HTTP 頭信息
  • asp中利用xmlhttp抓取網(wǎng)頁內(nèi)容的代碼
  • asp中使用MSXML2.ServerXMLHTTP實現(xiàn)異步請求例子
  • 解決ASP中http狀態(tài)跳轉(zhuǎn)返回錯誤頁的問題

標簽:淮北 唐山 來賓 揭陽 甘南 滁州 迪慶 南寧

巨人網(wǎng)絡通訊聲明:本文標題《Asp 使用 Microsoft.XMLHTTP 抓取網(wǎng)頁內(nèi)容并過濾需要的》,本文關鍵詞  Asp,使用,Microsoft.XMLHTTP,抓取,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Asp 使用 Microsoft.XMLHTTP 抓取網(wǎng)頁內(nèi)容并過濾需要的》相關的同類信息!
  • 本頁收集關于Asp 使用 Microsoft.XMLHTTP 抓取網(wǎng)頁內(nèi)容并過濾需要的的相關信息資訊供網(wǎng)民參考!
  • 推薦文章