简单的asp采集代码教程

来源:asp之家 时间:2011-04-18 10:39:00 

采集开始

第一步是分析要采集的页面。

使用浏览器打开要采集的页面(如: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 
% > 

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

标签:asp,采集,教程
0
投稿

猜你喜欢

  • Python爬虫定时计划任务的几种常见方法(推荐)

    2021-06-02 02:05:39
  • NodeJs Express框架操作MongoDB数据库执行方法讲解

    2024-01-25 08:59:08
  • Python GUI布局尺寸适配方法

    2022-03-07 05:52:26
  • 用ASP木马实现FTP和解压缩

    2008-02-13 08:47:00
  • SQL Server手工插入标识列的方法

    2024-01-27 05:41:35
  • Navicat Premium15连接云服务器中的数据库问题及遇到坑

    2024-01-19 05:41:50
  • JavaScript模块规范之AMD规范和CMD规范

    2024-04-30 08:52:46
  • Go外部依赖包从vendor,$GOPATH和$GOPATH/pkg/mod查找顺序

    2024-04-28 10:49:59
  • pandas 实现分组后取第N行

    2023-02-09 11:11:40
  • Python实现自动清理电脑垃圾文件详解

    2023-05-18 00:50:22
  • Mac上Python使用ffmpeg完美解决方案(避坑必看!)

    2023-10-07 23:03:10
  • MySQL表复合查询的实现

    2024-01-15 19:49:20
  • 使用VS2005调试ASP程序方法

    2007-11-02 09:56:00
  • golang中package is not in GOROOT报错的真正解决办法

    2024-04-28 10:45:29
  • Mysql开启慢SQL并分析原因

    2024-01-24 12:03:30
  • python占位符输入方式实例

    2022-10-26 11:46:16
  • 举例详解JavaScript中Promise的使用

    2024-06-05 09:58:07
  • PHP+jQuery+Ajax实现多图片上传效果

    2024-05-22 10:05:59
  • Pandas中批量替换字符的六种方法总结

    2022-10-23 05:23:12
  • Java使用JDBC向MySQL数据库批次插入10W条数据(测试效率)

    2024-01-15 15:41:11
  • asp之家 网络编程 m.aspxhome.com