求助,如何实现ASP自动采集

2025-05-13 23:46:41
推荐回答(1个)
回答1:

ASP实现自动采集不难,但不稳定哦!

给你写个实例:

<%
nl=getHTTPPage("http://www.d1kf.com/index.html")
newnl=strcut(nl,"","frameiqcsro_center""",2)
chenxi=split(newnl,"
")
sl=ubound(chenxi)
for ii=1 to sl
good=split(chenxi(ii),"
")
response.write good(0)&"


"
next

Function getHTTPPage(url) 
 On Error Resume Next
 dim http 
 set http=Server.createobject("Microsoft.XMLHTTP") 
 Http.open "GET",url,false 
 Http.send() 
 if Http.readystate<>4 then
  exit function 
 end if 
 getHTTPPage=bytesToBSTR(Http.responseBody,"GBK")
 set http=nothing
 If Err.number<>0 then 
  Response.Write "服务器获取文件内容出错


  Err.Clear
 End If  
End Function

Function BytesToBstr(body,Cset)
 dim objstream
 set objstream = Server.CreateObject("adodb.stream")
 objstream.Type = 1
 objstream.Mode =3
 objstream.Open
 objstream.Write body
 objstream.Position = 0
 objstream.Type = 2
 objstream.Charset = Cset
 BytesToBstr = objstream.ReadText 
 objstream.Close
 set objstream = nothing
End Function

'截取字符串,1.包括起始和终止字符,2.不包括
Function strCut(strContent,StartStr,EndStr,CutType)
 Dim strHtml,S1,S2
 strHtml = strContent
 On Error Resume Next
 Select Case CutType
 Case 1
  S1 = InStr(strHtml,StartStr)
  S2 = InStr(S1,strHtml,EndStr)+Len(EndStr)
 Case 2
  S1 = InStr(strHtml,StartStr)+Len(StartStr)
  S2 = InStr(S1,strHtml,EndStr)
 End Select
 If Err Then
  strCute = "没有找到需要的内容。

"
  Err.Clear
  Exit Function
 Else
  strCut = Mid(strHtml,S1,S2-S1)
 End If
End Function
%>