当前位置:K88软件开发文章中心编程语言AspAsp01 → 文章内容

asp简单的采集代码教程

减小字体 增大字体 作者:wangsdong     来源:asp编程网  发布时间:2018-12-30 8:32:15

采集开始
第一步是分析要采集的页面。
 
 使用浏览器打开要采集的页面(如:http://sports.sina.com.cn/k/2008-09-15/04593948756.shtml,你可以其他页面),打开后,点击右键,查源文件。

第二步,找到要采集的内容所在位置。
假如我要采集这个页面上的标题和内容所在的位置:
标题在<
h1 id="artibodyTitle" style="color:
#03005C
">
和<
/h1>
之间
内容在<!-- 正文内容 begin -->和<!-- 正文内容 end -->之间
注意一下所在位置的唯一性,可以在找到后,使用编辑中的查找,看看是不是唯一的,尽可能是唯一的,如果不是,尽可能是第一个,如果再不行,只能更换

第三步,写代码
<
%
 '功能:asp采集代码
 
'来自: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.包括起始和终止字符,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

% >


这样就可以的,我现在将得到的内容输出来,你可以将这些内容写入数据库,这样数据就是你的了。

 



asp简单的采集代码教程