簡單的asp採集代碼教程

來源:互聯網
上載者:User

採集開始
第一步是分析要採集的頁面。
 使用瀏覽器開啟要採集的頁面(如:http://sports.sina.com.cn/k/2008-09-15/04593948756.shtml,你可以其他頁面),開啟後,點擊右鍵,查源檔案。

第二步,找到要採集的內容所在位置。
假如我要採集這個頁面上的標題和內容所在的位置:
標題在<h1 id="artibodyTitle" style="color:#03005C;">和</h1>之間
內容在<!-- 本文內容 begin -->和<!-- 本文內容 end -->之間
注意一下所在位置的唯一性,可以在找到後,使用編輯中的尋找,看看是不是唯一的,儘可能是唯一的,如果不是,儘可能是第一個,如果再不行,只能更換

第三步,寫代碼 複製代碼 代碼如下:< %
 '功能:asp採集代碼
'作者: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.包括起始和終止字元,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'>沒有找到需要的內容。</p>"
Err.Clear
Exit Function
Else
strCut = Mid(strHtml,S1,S2-S1)
End If
End Function
% >

這樣就可以的,我現在將得到的內容輸出來,你可以將這些內容寫入資料庫,這樣資料就是你的了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.