淺談ASP程序?qū)崿F(xiàn)自動(dòng)采集程序及入庫(kù)

字號(hào):

<%
    '聲明取得目標(biāo)信息的函數(shù),通過(guò)XML組件進(jìn)行實(shí)現(xiàn)。
    Function GetURL(url)
    Set Retrieval = CreateObject("Microsoft.XMLHTTP")
    With Retrieval
    .Open "GET", url, False
    .Send
    GetURL = bytes2bstr(.responsebody)
    '對(duì)取得信息進(jìn)行驗(yàn)證,如果信息長(zhǎng)度小于100則說(shuō)明截取失敗
    if len(.responsebody)<100 then
    response.write "獲取遠(yuǎn)程文件 "&url&" 失敗。"
    response.end
    end if
    End With
    Set Retrieval = Nothing
    End Function
    ' 二進(jìn)制轉(zhuǎn)字符串,否則會(huì)出現(xiàn)亂碼的!
    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
    '聲明截取的格式,從Start開(kāi)始截取,到Last為結(jié)束
    Function GetKey(HTML,Start,Last)
    filearray=split(HTML,Start)
    filearray2=split(filearray(1),Last)
    GetKey=filearray2(0)
    End Function
    Dim Softid,Url,Html,Title
    '獲取要取頁(yè)面的ID
    SoftId=Request("Id")
    Url="http://www3.skycn.com/soft/"&SoftId&".html"
    Html = GetURL(Url)
    '以截取天空軟件的軟件名為例子
    Title = GetKey(Html,"","")
    '打開(kāi)數(shù)據(jù)庫(kù),準(zhǔn)備入庫(kù)
    dim connstr,conn,rs,sql
    connstr="DBQ="+server.mappath("db1.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
    set conn=server.createobject("ADODB.CONNECTION")
    conn.open connstr
    set rs=server.createobject("adodb.recordset")
    sql="select [列名] from [表名] where [列名]='"&Title&"'"
    rs.open sql,conn,3,3
    if rs.eof and rs.bof then
    rs("列名")=Title
    rs.update
    set rs=nothing
    end if
    set rs=nothing
    Response.Write"采集完畢!"
    %>