当前位置: 首页 > 图文教程 > 网络编程 > ASP > 简单的asp采集代码教程

ASP
ASP编程入门进阶(廿一):DAO SQL之建立数据库表
ASP应用之模板采用
ASP上传图片功能的又一实现(OLE对象)
asp中FSO复制文件代码
asp复制文件夹代码
实例演练ASP+XML编程比较全的了
利用ASP从远程服务器上接收XML数据的方法
PJ-Blog教程┊增强博客用户体验~让发表内容的同时拷贝到剪贴板以防丢失
TSYS一个新闻多种特性时如何进行前台更新?
TSYS资源特性的效率提高方法
重置TSYS系统中的所有"生成的文件"成"未生成文件"
TSYS中生成静态页时溢出: ''CInt''
asp实现防止站外提交内容的两个方法
ASP中生成文本文件的两种方式
ASP是否可以定时触发事件
ASP解压缩(在线解压缩类)
使用ASP删除指定IIS站点
使用ASP控制指定站点解析脚本语言函数
HTML标签及ASP函数速查表
如何使用Administrators组用户运行ASP程序

ASP 中的 简单的asp采集代码教程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 251 ::
收藏到网摘: n/a

实例分析asp的采集原理 采集开始
第一步是分析要采集的页面。
 使用浏览器打开要采集的页面(如: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
% >

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