⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 system_gather.asp

📁 网人分类信息5.0商业版。非常优秀的分类信息系统。比较少见。
💻 ASP
📖 第 1 页 / 共 3 页
字号:
<!--#include file="Cook.asp"-->
<%
   '================================
   '采集数据库操作
   Dim UploadFiles
   
   Dim Url,Sign,Sign1,gI,ga
   Server.ScriptTimeout=9999
   Sign = "ф§ф"
   Sign1 = "Ф§Ф"
   
   '重置内容地址
   Function GetUrl(Url,Str)
     If Str = "" Or IsNull(Url) Or Str = "" Or IsNull(Str) Then Exit Function
	 If Instr(Str,"|") > 0 Then
	   If Int(Split(Str,"|")(0)) = 1 Then Url = WRMPS.GetReplace(Split(Str,"|")(1),"{$Url}",Url)
	 End If
     GetUrl = Url
   End Function
   '标签过滤
   Function  LeachFilter(Str,Leach)
     If Instr(Leach,"|iframe|") > 0 Then Str=ScriptHtml(Str,"ifrAme",1)
     If Instr(Leach,"|object|") > 0 Then Str=ScriptHtml(Str,"Object",2)
     If Instr(Leach,"|script|") > 0 Then Str=ScriptHtml(Str,"Script",2)
     If Instr(Leach,"|div|") > 0 Then Str=ScriptHtml(Str,"Div",3)
     If Instr(Leach,"|table|") > 0 Then Str=ScriptHtml(Str,"table",3)
     If Instr(Leach,"|tr|") > 0 Then Str=ScriptHtml(Str,"tr",3)
     If Instr(Leach,"|td|") > 0 Then Str=ScriptHtml(Str,"td",3)
     If Instr(Leach,"|span|") > 0 Then Str=ScriptHtml(Str,"Span",3)
     If Instr(Leach,"|img|") > 0 Then Str=ScriptHtml(Str,"Img",3)
     If Instr(Leach,"|font|") > 0 Then Str=ScriptHtml(Str,"Font",3)
     If Instr(Leach,"|a|") > 0 Then Str=ScriptHtml(Str,"A",3)
     If Instr(Leach,"|html|") > 0 Then Str=WRMPS.LeachHTML(Str)
	 LeachFilter = Str
   End Function
   Function ScriptHtml(Byval ConStr,TagName,FType)
     gRe.IgnoReCase =true
     gRe.Global=True
     Select Case FType
     Case 1
       gRe.Pattern="<" & TagName & "([^>])*>"
       ConStr=gRe.Replace(ConStr,"")
     Case 2
       gRe.Pattern="<" & TagName & "([^>])*>.*?</" & TagName & "([^>])*>"
       ConStr=gRe.Replace(ConStr,"") 
	 Case 3
       gRe.Pattern="<" & TagName & "([^>])*>"
       ConStr=gRe.Replace(ConStr,"")
       gRe.Pattern="</" & TagName & "([^>])*>"
       ConStr=gRe.Replace(ConStr,"")
     End Select
     ScriptHtml=ConStr
   End Function
   '数据过滤
   Function LeachData(gStr,gType,gStr1,gStr2)
     Dim gLeachTemp
	 gLeachTemp = ""
     Select Case gType
	   Case 0 '简单替换
	     LeachData = WRMPS.GetReplace(gStr,gStr1,gStr2)
	   Case 1 '高级过滤
	     gLeachTemp = Split(gStr1,Sign)(0) & HCode(gStr,Split(gStr1,Sign)(0),Split(gStr1,Sign)(1)) & Split(gStr1,Sign)(1)
	     LeachData = WRMPS.GetReplace(gStr,gLeachTemp,gStr2)
	 End Select
   End Function
   '字符替换
   Function LeachStr(Str,Leach)
     If IsNUll(Leach) Or Leach = "" Then LeachStr = Str:Exit Function
     If Instr(Leach,vbCrLf) > 0 Then
	   Leach = Split(Leach,vbCrLf)
	   For gI = 0 To Ubound(Leach)
	     If Leach(gI) <> "" Then
		   Str = WRMPS.GetReplace(Str,Split(Leach(gI),"|")(0),Split(Leach(gI),"|")(1))
		 End If
	   Next
	 Else
	   If Instr(Leach,"|") > 0 Then Str = WRMPS.GetReplace(Str,Split(Leach,"|")(0),Split(Leach,"|")(1))
	 End If
	 LeachStr = Str
   End Function
  '==================================================
  '函数名:FpHtmlEnCode
  '作  用:标题过滤
  '==================================================
  Function FpHtmlEnCode(fString)
    If IsNull(fString)=False or fString<>"" Then
       fString=WRMPS.LeachHTML(fString)
       fString=FilterJS(fString)
       fString = Replace(fString,"&nbsp;"," ")
       fString = Replace(fString,"&quot;","")
       fString = Replace(fString,"&#39;","")
       fString = Replace(fString, ">", "")
       fString = Replace(fString, "<", "")
       fString = Replace(fString, CHR(9), " ")'&nbsp;
       fString = Replace(fString, CHR(10), "")
       fString = Replace(fString, CHR(13), "")
       fString = Replace(fString, CHR(34), "")
       fString = Replace(fString, CHR(32), " ")'space
       fString = Replace(fString, CHR(39), "")
       fString = Replace(fString, CHR(10) & CHR(10),"")
       fString = Replace(fString, CHR(10)&CHR(13), "")
       fString=Trim(fString)
       FpHtmlEnCode=fString
    Else
       FpHtmlEnCode=""
    End If
  End Function
  Function FilterJS(byval v)
	if isnull(v) or trim(v)="" then
		FilterJS=""
		exit function
	end if
	dim t
	dim ReContent
	gRe.IgnoReCase =true
	gRe.Global=True
	gRe.Pattern="(javascript)"
	t=gRe.Replace(v,"&#106avascript")
	gRe.Pattern="(jscript:)"
	t=gRe.Replace(t,"&#106script:")
	gRe.Pattern="(js:)"
	t=gRe.Replace(t,"&#106s:")
	gRe.Pattern="(about:)"
	t=gRe.Replace(t,"about&#58")
	gRe.Pattern="(file:)"
	t=gRe.Replace(t,"file&#58")
	gRe.Pattern="(document.cookie)"
	t=gRe.Replace(t,"documents&#46cookie")
	gRe.Pattern="(vbscript:)"
	t=gRe.Replace(t,"&#118bscript:")
	gRe.Pattern="(vbs:)"
	t=gRe.Replace(t,"&#118bs:")
	FilterJS=t
  End Function

   '===============================================
   '函数名:GetHttpPage
   '作  用:获取网页源码
   '参  数:HttpUrl 网页地址,Cset 编码
   '===============================================
   Function GetHttpPage(ByVal URL, ByVal Cset)
	Dim BlockStartTime
	On Error Resume Next
	   If IsNull(URL)=True Or Len(URL)<18 Or URL="" Then
		  GetHttpPage=""
		  Exit Function
	   End If
	   BlockStartTime = Timer()
	   Http.open "GET",URL,False
	   Http.Send()
	  '循环等待数据接收
	   Dim temp,BlockTimeout 	   
	   BlockTimeout = 64
	   While (http.ReadyState <> 4)
		  ' 判断是否块超时
		   temp = Timer() - BlockStartTime
		   If (temp > BlockTimeout) Then
			   http.abort
			   GetHttpPage=""
			   Exit function
			   Response.End
		   End If
		   http.waitForResponse 10000'等待1000毫秒
	   Wend
	   If Http.Readystate<>4 then
		  GetHttpPage=""
		  Exit function
	   End if
	   GetHTTPPage=bytesToBSTR(Http.ResponseBody,Cset)
	   If Err.number<>0 then
		  If IsNull(URL)=True Or Len(URL)<18 Or URL="" Then
		    GetHttpPage=""
		    Exit Function
	      End If
		  Err.Clear
	   End If
   End Function
   '===============================================
   '函数名:BytesToBstr
   '作  用:将获取的源码转换为中文
   '参  数:Body 要转换的变量
   '参  数:Cset 要转换的类型
   '===============================================
   Function BytesToBstr(Body,Cset)
	   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
   End Function

   '列表截取
   Function ListCode(Str,CodeB,CodeE,Ty)
     Dim ReplaceStr,T_Str,Matches,Match
	 ReplaceStr = ""
	 GRegE.Pattern="("&CodeB&")([\s\S]+?)("&CodeE&")"
     GRegE.IgnoReCase=True
     GRegE.Global=True
     Set Matches=GRegE.Execute(Str)
     For Each Match in Matches
       T_Str = GRegE.Replace(Match.Value,"$2")
	   If ReplaceStr = "" Then
		  ReplaceStr = T_Str
	   Else
         If Instr("§" & ReplaceStr,"§" & T_Str) = 0 Then
		   Select Case Ty
             Case 0
               ReplaceStr = ReplaceStr & "§" & T_Str
             Case 1
               ReplaceStr = T_Str & "§" & ReplaceStr '倒
           End Select
         End If
	   End If
     Next
     Set Matches=Nothing
     ListCode = ReplaceStr
   End Function

   '信息截取
   Function HCode(Str,B,E)

     If Str="" or IsNull(Str)=True Then HCode="":Exit Function
	 If B="" or IsNull(B)=True Or E="" or IsNull(E)=True Then HCode=Str:Exit Function
	 GRegE.Pattern="(\"&B&")([\s\S]+?)(\"&E&")"
     Set Matchess = GRegE.Execute(Str)
     For Each Matchs in Matchess
       HCode = GRegE.Replace(Matchs.Value,"$2")
     Next
   End Function

   '获取/保存远程图片
   'gStr 原字符串,gUpFolder 文件保存目录 true/false,gSave是否保存远程文件,gUrl目标URL,gWatermark 1添加水印 0不添加  gCReThumb生不生成缩略图 1生成 0不生成
   Function ReplaceSaveRemoteFile(gStr,gUpFolder,gSave,gUrl,gWatermark,gCThumb)
    If gStr = "" Or gUpFolder = "" Then ReplaceSaveRemoteFile = gStr:Exit Function
	UploadFiles = ""
    '提取图片列表
    Dim T_Str,T_Str2,T_Str3,Matches,Match,Tempi,TempArray,TempArray2
    Dim SavePath,sSavePath,RemoteFileUrl,strFileType,ArrSaveFileName,RanNum,strFileName,PathTemp
    gRe.IgnoReCase = True
    gRe.Global = True
    gRe.Pattern ="<img.+?[^\>]>"
    Set Matches =gRe.Execute(gStr) 
    For Each Match in Matches
      If T_Str<>"" then 
         T_Str=T_Str & "§§§" & Match.Value
      Else
         T_Str=Match.Value
      End if
    Next
    If T_Str<>"" Then
      TempArray=Split(T_Str,"§§§")
      T_Str=""
      For Tempi=0 To Ubound(TempArray)
         gRe.Pattern ="src\s*=\s*.+?\.("&WR_Gather(5)&")"
         Set Matches =gRe.Execute(TempArray(Tempi)) 
         For Each Match in Matches
            If T_Str<>"" then 
               T_Str=T_Str & "§§§" & Match.Value
            Else
               T_Str=Match.Value
            End if
         Next
      Next
      gRe.Pattern ="src\s*=\s*"
      T_Str=gRe.Replace(T_Str,"")
    End If
    Set Matches=nothing
    If T_Str="" or IsNull(T_Str)=True Then
      ReplaceSaveRemoteFile=gStr
      Exit function
    End if
    T_Str=Replace(T_Str,"""","")
    T_Str=Replace(T_Str,"'","")
    T_Str=Replace(T_Str," ","")
    '提取图片列表结束
	'如果保存远程文件则建立保存目录
    If gSave=True then
      SavePath = gUpFolder
	  Response.write "&nbsp;&nbsp;正在下载图片并且保存至:" & savepath & "<br>"
      sSavePath = SavePath&"S/"
	  Call WRMPS.FsoBegin()
      If Int(WR_UpLoad(20)) > 0 Then '缩略图
        Call WRMPS.CReFolder(SavePath&"S/")
	  Else
        Call WRMPS.CReFolder(SavePath)
	  End If
	  Call WRMPS.FsoEnd()
    End If
	'建立上传目录结束
    '去掉重复图片开始
    TempArray=Split(T_Str,"§§§")
    T_Str=""
    For Tempi=0 To Ubound(TempArray)
      If Instr(Lcase(T_Str),Lcase(TempArray(Tempi)))<1 Then
         T_Str=T_Str & "§§§" & TempArray(Tempi)
      End If
    Next
    T_Str=Right(T_Str,Len(T_Str)-3)
    TempArray=Split(T_Str,"§§§")

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -