一段采集程序代码

所属分类: 网络编程 / ASP编程 阅读数: 1538
收藏 0 赞 0 分享
<%@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+"条。");
%> 
更多精彩内容其他人还在看

IIS访问ASP页面时报错The requested resource is in use.的解决办法

IIS访问ASP页面时报错The requested resource is in use.的解决办法
收藏 0 赞 0 分享

错误类型:Provider (0x80004005)未指定的错误 的一个处理方法

一般情况下asp可以正常运行,但只要连接数据库就提示,Microsoft JET Database Engine 错误'80004005'
收藏 0 赞 0 分享

关于“未指定的错误”的问题 的比较正解的解决方法

关于“未指定的错误”的问题 的比较正解的解决方法
收藏 0 赞 0 分享

关于asp+access的安全问题分析

关于asp+access的安全问题分析
收藏 0 赞 0 分享

把RS.GetRows看得更清楚

把RS.GetRows看得更清楚
收藏 0 赞 0 分享

ASP面向对象编程探讨及比较

ASP面向对象编程探讨及比较
收藏 0 赞 0 分享

ASP错误处理

ASP错误处理
收藏 0 赞 0 分享

web文件管理器的后续开发

web文件管理器的后续开发
收藏 0 赞 0 分享

上一篇,下一篇过程代码

上一篇,下一篇过程代码
收藏 0 赞 0 分享

一小偷类!!有兴趣的可以看看

一小偷类!!有兴趣的可以看看
收藏 0 赞 0 分享
查看更多