当前位置: 首页 > 图文教程 > 网络编程 > ASP > 一段采集程序代码

ASP
一种比较方便的ASP分页程序
用一套论坛程序架设多个论坛
ASP与ASP.NET在COOKIE方面的区别
较长数据无法在Asp页面中取出的三种解决方法
初试WAP之wml+ASP查询
动态网站首页的静态生成方法
使用正则表达式实现模式图片新闻.ASP
让你的WAP网站有更好的兼容性
WAP版的手机号码所在地查询
asp模仿 Lotus Notes 的界面程序
ORACLE920与ASP的连接问题的解决办法
利用SQLSERVER存储过程实现ASP用户身份验证
在ASP中自动创建多级文件夹的函数(使用FSO)
利用instr()函数防止SQL注入攻击
利用XSL和ASP实现XML文档在线编辑
表单对象textarea内容的格式控制(回车、换行、空格)
针对select写了一个通用的option输出函数
ASP无组件BMP汉字生成类+汉字点阵库
时间、空间性能极优的asp无组件上传类
无组件生成BMP验证码

ASP 中的 一段采集程序代码


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

<%@LANGUAGE="JScript" CODEPAGE="936"%>
<script language=VBScript runat="Server">
Function bytes2BSTR(vIn)
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function
Function ajaxRead(theURL)
dim XmlHttp
set XmlHttp = CreateObject("Microsoft.XMLHTTP")
XmlHttp.Open "GET", theURL, false
XmlHttp.setRequestHeader "Content-Type","text/HTML"
XmlHttp.Send
dim htmlstr
htmlstr = bytes2BSTR(XmlHttp.responseBody)
ajaxRead = htmlstr
End Function
</script>
<%
var ADOConn;
function OpenDatabase(){
try{
ADOConn = new ActiveXObject("ADODB.Connection");
ADOConn.Open ("Provider=Microsoft.Jet.Oledb.4.0;Data Source="+Server.MapPath("getcaiku.mdb"));
}catch(e){
ADOConn.close;
Response.Write("数据库连接出错,请检查连接字串。");
Response.End;
}
}
function CloseDatabase(){
ADOConn.close;
}
Response.Buffer = 1;
Server.ScriptTimeout = 99999;
//////////可修改以下参数////////////////
var beginid = 230;//开始ID
var endid = 500;//结束ID
////////////////////////////////////////
var arr,tstr,tid,getdata;
var countid = 0;
Response.Write ("开始采集:从"+beginid+"到"+endid+"<hr>");
Response.Flush;
OpenDatabase();
var re=new RegExp("<title>(.*?) - 彩酷</title>","ig");
for(var fi=beginid;fi<(endid+1);fi++){
tid = String(fi);
getdata = ajaxRead("http://mms.caiku.com/sendcring.aspx?uid=0&id="+tid);
if(arr = re.exec(getdata)!=null){
tstr = String(RegExp.$1);
if(tstr!=null&&tstr!="undefined"&&tstr!="")
tstr = tstr.replace("'","");
ADOConn.execute("INSERT INTO getdata(title,tid)VALUES('"+tstr+"',"+tid+")");
Response.Write (tid+":"+tstr+" ___>OK!<br>");
countid++;
Response.Flush
}
}
re.close;
CloseDatabase();
Response.Write ("<hr>采集完毕!共录入数据"+countid+"条。");
%>