简单的asp采集代码教程

2018-09-06 12:46

阅读:363

  采集开始
第一步是分析要采集的页面。
使用浏览器打开要采集的页面(如:,你可以其他页面),打开后,点击右键,查源文件。

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

第三步,写代码
复制代码 代码如下:
< %
功能:asp采集代码
作者:wangsdong
备注:支持原创程序,请保留此信息,谢谢
url=
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
% >

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


评论


亲,登录后才可以留言!