也谈采集入库的技术(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
内容版权声明:除非注明,否则皆为本站原创文章。