當前位置:首頁 > 建站常識 > 列表

asp簡單的(de)采集代碼教程

點擊:時(shí)間:2018/8/31關鍵詞:上海網站制作 上海網頁設計
采集開始第一步是分(fēn)析要采集的(de)頁面。使用(yòng)浏覽器打開要采集的(de)頁面(如:http://sports.sina.com.cn/k/2008-09-15/04593948756.shtml,你可(kě)以其他(tā)頁面),打開後,點擊右鍵,查源文件。第二步,找到要采集的(de)内容所在位置。

采集開始

第一步是分(fēn)析要采集的(de)頁面。

 使用(yòng)浏覽器打開要采集的(de)頁面(如:http://sports.sina.com.cn/k/2008-09-15/04593948756.shtml,你可(kě)以其他(tā)頁面),打開後,點擊右鍵,查源文件。

第二步,找到要采集的(de)内容所在位置。

假如我要采集這(zhè)個(gè)頁面上的(de)标題和(hé)内容所在的(de)位置:

标題在<h1 id="artibodyTitle" style="color:#03005C;">和(hé)</h1>之間

内容在<!-- 正文内容 begin -->和(hé)<!-- 正文内容 end -->之間

注意一下(xià)所在位置的(de)唯一性,可(kě)以在找到後,使用(yòng)編輯中的(de)查找,看看是不是唯一的(de),盡可(kě)能是唯一的(de),如果不是,盡可(kě)能是第一個(gè),如果再不行,隻能更換

第三步,寫代碼

< %

 '功能:asp采集代碼

 '來(lái)自:www.aspprogram.cn

 '作者:wangsdong

 '備注:支持原創程序,請保留此信息,謝謝

url="http://sports.sina.com.cn/k/2008-09-15/04593948756.shtml"

 str=getHTTPPage(url)

 title=strcut(str,"<h1 id=""artibodyTitle"" style=""color:#03005C;"">","</h1>",2)

 content=strcut(str,"<!-- 正文内容 begin -->","<!-- 正文内容 end -->",2)  

 response.write "新聞标題<br><b>"&title&"</b><br><br><br>新聞内容:<br>"&content  

Function getHTTPPage(url)

On Error Resume Next

dim http

set http=Server.createobject("Microsoft.XMLHTTP")

Http.open "GET",url,false

Http.send()

if Http.readystate<>4 then

 exit function

end if

getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")

set http=nothing

If Err.number<>0 then

 Response.Write "<p align='center'><font color='red'><b>服務器獲取文件内容出錯</b></font></p>"

 Err.Clear

End If  

End Function

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

'截取字符串,1.包括起始和(hé)終止字符,2.不包括

Function strCut(strContent,StartStr,EndStr,CutType)

Dim strHtml,S1,S2

strHtml = strContent

On Error Resume Next

Select Case CutType

Case 1

 S1 = InStr(strHtml,StartStr)

 S2 = InStr(S1,strHtml,EndStr)+Len(EndStr)

Case 2

 S1 = InStr(strHtml,StartStr)+Len(StartStr)

 S2 = InStr(S1,strHtml,EndStr)

End Select

If Err Then

 strCute = "<p align='center'>沒有找到需要的(de)内容。</p>"

 Err.Clear

 Exit Function

Else

 strCut = Mid(strHtml,S1,S2-S1)

End If

End Function

% >

預約建站
免費提供網站優化(huà)
領取關鍵詞