也谈采集入库的技术(5)


artor=finddate(mydate,"作者:</b>","  <b>",0) '得到作者
wherefrom=finddate(mydate,"来源:</b><font color=#000000>","</font>  ",0)'得到来源
content=finddate(mydate,"</td></tr><tr><td><br>","<br><br><iframe name=import_frame",0)'得到

正文内容
至此,我们已经得到了我们想要的数据了,在下来就是把title,artor,content,wherefrom 入库了,

其实采集入库就怎么简单了,只是在用finddate()是要注意里面byref start和byref last,最好是

mydate里面唯一的,这样便于定位。如不是唯一的,我们可以先缩小范围再来精确定位。有必要时可以弄

个循环来得到数据。完整的代码如下
''''''''''''''''''''code start'''''''''''''''''''
<%
dim url,mydate
url="http://www.skycn.com/article/77.html"
Set OXML = server.CreateObject("Microsoft.XMLHTTP") 
'下面定义两个函数,得到数据
Private Function BytesToBstr(body)  '利用流进行中文编码
Set ADOS = Server.CreateObject("ADODB.Stream")
        Dim Bdat
        Bdat=Body
        ADOS.Type = 1
        ADOS.Mode =3
        ADOS.Open
        ADOS.Write Bdat
        ADOS.Position = 0
        ADOS.Type = 2
        ADOS.Charset = "GB2312"
        BytesToBstr = ADOS.ReadText 
        ADOS.Close
End Function
Public Function GetData(byref url) 
        'on error resume next 
        SourceCode = OXML.open ("GET",url,false)
        OXML.send() 
        if OXML.readystate<>4 then exit function
        GetData = BytesToBstr(OXML.responseBody)'
        if err.number<>0 then err.Clear
End Function
mydate=getdata(url)
mydate=Replace(mydate,chr(34),"") '去掉一些特殊字符,如双引号等,看自己情况定
mydate=Replace(mydate,chr(16),"")
Public Function finddate(byref str,byref start,byref last,byref n)
        If Instr(lcase(str),lcase(start))>0 then

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/3436.html