用一个web robot 检查目标站点(你想采集新闻的站点)的新闻,把新闻下载到
本地数据库

解决方案 »

  1.   

    这个很复杂的,不过最主要的是用xml来实现定时采集,如果要采集指定的内容则要用正则分析其网页的源码,进而得到你想要的。大体就是这样你可以查一查相关的资料
      

  2.   

    Dim cacheClass Cls_XmlHTTP Public RegExtStr '// <re>
    '// XMLHTTP 初始化 Cache 类
    '// </re>
    Private Sub Class_Initialize
    Set cache = New Cls_Cache
    End Sub '// <summary>
    '// 功能:获取指定页面的文件流
    '// 参数:获取地址(需要符合HTTP协议)
    '// 说明:
    '// 在获取信息后,把二进制转换为文本
    '// 通过使用 MDAC
    '// </summary>
    Public Function GetHttpPages(ByVal Url) 
    Dim http
    On Error Resume Next 
    Set http=Server.Createobject("Microsoft.XMLHTTP") 
    http.Open "GET",Url,False 
    http.SetRequestHeader "Content-Type", "text/html"
    http.Send() If http.ReadyState <> 4 Then
    Exit Function
    End If

    '进行文件编码转换
    GetHttpPages = BinToText(http.ResponseBody,35000)
    Set http = Nothing
    If Err.Number<>0 Then Err.Clear
    End Function  '// <summary>
    '// 功能:获取指定页面的文件流
    '// 参数:获取地址(需要符合HTTP协议)
    '// 说明:把获取的信息输出(不进行编码转换)
    '// </summary>
    Public Function GetHttpVoidPages(ByVal Url)
    Dim Http
    Set Http=Server.Createobject("Microsoft.XMLHTTP") 
    Http.Open "GET",Url,False
    Http.SetRequestHeader "Content-Type", "text/html"
    Http.Send() If Http.ReadyState <> 4 Then
    Exit Function
    End If

    GetHttpVoidPages = Http.ResponseBody
    Set Http = Nothing
    If Err.Number<>0 Then Err.Clear
    End Function '// <summary>
    '// 功能:获取指定页面的文件流
    '// 参数:获取地址(需要符合HTTP协议)
    '// 说明:把获取的信息输出(不进行编码转换)
    '// </summary>
    Function BinToText(ByVal varBinData, ByVal IntDataSizeInBytes) ' as String
    Dim Rs
    Const adFldLong = &H00000080
    Const adVarChar = 200
    Set Rs = Server.CreateObject("ADODB.Recordset") Rs.Fields.Append "txt", adVarChar, IntDataSizeInBytes, adFldLong
    Rs.Open Rs.AddNew
    Rs.Fields("txt").AppendChunk varBinData
    BinToText = Rs("txt").Value Rs.Close
    Set Rs = Nothing
    End Function '// <summary>
    '// 功能:把获取的信息存储到本地
    '// 参数:文件地址(符合HTTP协议) , 存储文件地址(符合Windows文件标准)
    '// 说明:使用对象Adodb的文件流
    '// </summary>
    Public Function SaveToLocal(ByVal Url,ByVal SavePath)
    Dim Stream
    On Error Resume Next
    Set Stream = Server.CreateObject("Adodb.Stream")
    Stream.Type = 1
    Stream.Open
    Stream.Write GetHttpVoidPages(Trim(Url))
    Stream.SaveToFile SavePath , 2
    Stream.Close
    Set Stream = Nothing
    End Function Public Function GetTagExt()
    Dim Rs,Sql,i
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Sql = "select TagName from [db_xmlhttp_tagext]"
    Rs.Open Sql,conn,1,1
    If Not(Rs.Bof And Rs.Eof) Then
    i = 0
    ReDim RegExtStr(Rs.RecordCount)
    Do While Not Rs.Eof
    RegExtStr(i) = Rs(0)
    Rs.Movenext
    Loop
    i = i + 1
    Else
    ReDim RegExtStr(0)
    RegExtStr(0)="<!--新闻开始-->[\S\s]*?<!--新闻结束-->"
    End If
    Rs.Close
    Set Rs = Nothing
    End Function Private Sub Clas_Terminate
    Set cache = Nothing
    End SubEnd Class
    %>
      

  3.   

    你上面是ASP的呀
    有没的PHP的呢?
      

  4.   

    我记得chinaz上有过一个php的新闻采集系统!不知道还有没有了!你上去看看!
    如果没有asp的应该会有!看看他们的代码。