e> <A href=''../soft/6805.html'' target=_blank title=''浏览软件[金山毒霸
引擎病毒库升级包(2006.03.09)]''>金山毒霸引擎病毒库升级包(2006.03.09)</A><br><li type=circle>
<A href=''../soft/3722.html'' target=_blank title=''浏览软件[F-Secure Anti-Virus 病毒码省列去部
分..............
''''''''''''''''''''''''''''''''''''''''''''''''''''''''code end ''''''''''''''''''''''''''''''''''
我们所需要的也就定义在mydate里了,但如何来定位呢?大家都知道
asp里有left()和right() 函数,我
们就用它们来做。我们先来定个函数,
Public Function finddate(byref str,byref start,byref last,byref n)
If Instr(lcase(str),lcase(start))>0 then
select case n
case 0 ''左右都截取(都取前面)(去处关键字)
finddate=Right(str,Len(str)-Instr(lcase(str),lcase(start))-Len(start)+1)
finddate=Left(finddate,Instr(lcase(finddate),lcase(last))-1)
case 1 ''左右都截取(都取前面)(保留关键字)
finddate=Right(str,Len(str)-Instr(lcase(str),lcase(start))+1)
finddate=Left(finddate,Instr(lcase(finddate),lcase(last))+Len(last)-1)
end select
Else
finddate=""
End if
end function
这个就是截取里面内容的函数了
下面我们来得到文章标题:03月10日值得注意病毒列表
dim title,artor,content,wherefrom
title=finddate(mydate,"width=540 borderColorDark=#ffffff
borderColorLight=#cccccc",</font></b>,1)
这样,我们就把标题定位到了个小范围内了:width=540 borderColorDark=#ffffff
borderColorLight=#cccccc cellPadding=0 cellSpacing=0> <tr><td width=''100%'' align=''center''
bgcolor=''#CED7F1'' height=''20''><b><font color=''#000000''>03月10日值得注意病毒列表</font></b>
在精确定位下就行了,
title=finddate(title,"<font color=''#000000''>","</font></b>",0)
现在,title的值就是:03月10日值得注意病毒列表
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
ADO