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

📄 ks_collectcommoncls.asp

📁 SK信息采集2.0功能介绍: 1.可针对任何静态网页,动态网页进行采集。包括htm,html,shtml,ASP,ASPX,JSP,PHP等。 2.增加自定文件采集.用户可采集网页中的所有文件.
💻 ASP
📖 第 1 页 / 共 4 页
字号:
		
		'==================================================
		'函数名:PostHttpPage
		'作  用:登录
		'==================================================
		Function PostHttpPage(RefererUrl, PostUrl, PostData)
			Dim xmlHttp
			Dim RetStr
			Set xmlHttp = CreateObject("Msxml2.XMLHTTP")
			xmlHttp.Open "POST", PostUrl, False
			xmlHttp.setRequestHeader "Content-Length", Len(PostData)
			xmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
			xmlHttp.setRequestHeader "Referer", RefererUrl
			xmlHttp.Send PostData
			If Err.Number <> 0 Then
				Set xmlHttp = Nothing
				PostHttpPage = "Error"
				Exit Function
			End If
			PostHttpPage = BytesToBstr(xmlHttp.ResponseBody, "GB2312")
			Set xmlHttp = Nothing
		End Function
		
		'==================================================
		'函数名:UrlEncoding
		'作  用:转换编码
		'==================================================
		Function UrlEncoding(DataStr)
			Dim StrReturn, Si, ThisChr, InnerCode, Hight8, Low8
			StrReturn = ""
			For Si = 1 To Len(DataStr)
				ThisChr = Mid(DataStr, Si, 1)
				If Abs(Asc(ThisChr)) < &HFF Then
					StrReturn = StrReturn & ThisChr
				Else
					InnerCode = Asc(ThisChr)
					If InnerCode < 0 Then
					   InnerCode = InnerCode + &H10000
					End If
					Hight8 = (InnerCode And &HFF00) \ &HFF
					Low8 = InnerCode And &HFF
					StrReturn = StrReturn & "%" & Hex(Hight8) & "%" & Hex(Low8)
				End If
			Next
			UrlEncoding = StrReturn
		End Function
		
		'==================================================
		'函数名:GetBody
		'作  用:截取字符串
		'参  数:ConStr ------将要截取的字符串
		'参  数:StartStr ------开始字符串
		'参  数:OverStr ------结束字符串
		'参  数:IncluL ------是否包含StartStr
		'参  数:IncluR ------是否包含OverStr
		'==================================================
		Function GetBody(Constr, StartStr, OverStr, IncluL, IncluR)
		   If Constr = "Error" Or Constr = "" Or IsNull(Constr) = True Or StartStr = "" Or IsNull(StartStr) = True Or OverStr = "" Or IsNull(OverStr) = True Then
			  GetBody = "Error"
			  Exit Function
		   End If
		   Dim ConstrTemp
		   Dim Start, Over
		   ConstrTemp = LCase(Constr)
		   StartStr = LCase(StartStr)
		   OverStr = LCase(OverStr)
		   Start = InStrB(1, ConstrTemp, StartStr, vbBinaryCompare)
		   If Start <= 0 Then
			  GetBody = "Error"
			  Exit Function
		   Else
			  If IncluL = False Then
				 Start = Start + LenB(StartStr)
			  End If
		   End If
		   Over = InStrB(Start, ConstrTemp, OverStr, vbBinaryCompare)
		   If Over <= 0 Or Over <= Start Then
			  GetBody = "Error"
			  Exit Function
		   Else
			  If IncluR = True Then
				 Over = Over + LenB(OverStr)
			  End If
		   End If
		   GetBody = MidB(Constr, Start, Over - Start)
		End Function
		
		
		'==================================================
		'函数名:GetArray
		'作  用:提取链接地址,以$Array$分隔
		'参  数:ConStr ------提取地址的原字符
		'参  数:StartStr ------开始字符串
		'参  数:OverStr ------结束字符串
		'参  数:IncluL ------是否包含StartStr
		'参  数:IncluR ------是否包含OverStr
		'==================================================
		Function GetArray(Constr, StartStr, OverStr, IncluL, IncluR)
		   If Constr = "Error" Or Constr = "" Or IsNull(Constr) = True Or StartStr = "" Or OverStr = "" Or IsNull(StartStr) = True Or IsNull(OverStr) = True Then
			  GetArray = "Error"
			  Exit Function
		   End If
		   Dim TempStr, TempStr2, objRegExp, Matches, Match
		   TempStr = ""
		   Set objRegExp = New RegExp
		   objRegExp.IgnoreCase = True
		   objRegExp.Global = True
		   objRegExp.Pattern = "(" & StartStr & ").+?(" & OverStr & ")"
		   Set Matches = objRegExp.Execute(Constr)
		   For Each Match In Matches
			  TempStr = TempStr & "$Array$" & Match.value
		   Next
		   Set Matches = Nothing
		
		   If TempStr = "" Then
			  GetArray = "Error"
			  Exit Function
		   End If
		   TempStr = Right(TempStr, Len(TempStr) - 7)
		   If IncluL = False Then
			  objRegExp.Pattern = StartStr
			  TempStr = objRegExp.Replace(TempStr, "")
		   End If
		   If IncluR = False Then
			  objRegExp.Pattern = OverStr
			  TempStr = objRegExp.Replace(TempStr, "")
		   End If
		   Set objRegExp = Nothing
		   Set Matches = Nothing
		   
		   TempStr = Replace(TempStr, """", "")
		   TempStr = Replace(TempStr, "'", "")
		   TempStr = Replace(TempStr, " ", "")
		   TempStr = Replace(TempStr, "(", "")
		   TempStr = Replace(TempStr, ")", "")
		
		   If TempStr = "" Then
			  GetArray = "Error"
		   Else
			  GetArray = TempStr
		   End If
		End Function
		
		
		'==================================================
		'函数名:DefiniteUrl
		'作  用:将相对地址转换为绝对地址
		'参  数:PrimitiveUrlStr ------要转换的相对地址
		'参  数:ConsultUrlStr ------当前网页地址
		'==================================================
		'Function DefiniteUrl(ByVal PrimitiveUrlStr, ByVal ConsultUrlStr)
		Function DefiniteUrl(PrimitiveUrl, ConsultUrl)
		   
		   Dim ConTemp, PriTemp, Pi, Ci, PriArray, ConArray
		   Dim PrimitiveUrlStr, ConsultUrlStr
		   
		   PrimitiveUrlStr = PrimitiveUrl
		   ConsultUrlStr = ConsultUrl
		   		
		   
		   If PrimitiveUrlStr = "" Or ConsultUrlStr = "" Or PrimitiveUrlStr = "Error" Or ConsultUrlStr = "Error" Then
			  DefiniteUrl = "Error"
			  Exit Function
		   End If
		
		   If Left(LCase(ConsultUrlStr), 7) <> "http://" Then
			  ConsultUrlStr = "http://" & ConsultUrlStr
		   End If
		   
		
		   ConsultUrlStr = Replace(ConsultUrlStr, "\", "/")
		   ConsultUrlStr = Replace(ConsultUrlStr, "://", ":\\")
		   PrimitiveUrlStr = Replace(PrimitiveUrlStr, "\", "/")
		
		   If Right(ConsultUrlStr, 1) <> "/" Then
			  If InStr(ConsultUrlStr, "/") > 0 Then
				 If InStr(Right(ConsultUrlStr, Len(ConsultUrlStr) - InStrRev(ConsultUrlStr, "/")), ".") > 0 Then
				 Else
					ConsultUrlStr = ConsultUrlStr & "/"
				 End If
			  Else
				 ConsultUrlStr = ConsultUrlStr & "/"
			  End If
		   End If
		   ConArray = Split(ConsultUrlStr, "/")
		   
		
		   If Left(LCase(PrimitiveUrlStr), 7) = "http://" Then
			  DefiniteUrl = Replace(PrimitiveUrlStr, "://", ":\\")
		   ElseIf Left(PrimitiveUrlStr, 1) = "/" Then
			  DefiniteUrl = ConArray(0) & PrimitiveUrlStr
		   ElseIf Left(PrimitiveUrlStr, 2) = "./" Then
			  PrimitiveUrlStr = Right(PrimitiveUrlStr, Len(PrimitiveUrlStr) - 2)
			  If Right(ConsultUrlStr, 1) = "/" Then
				 DefiniteUrl = ConsultUrlStr & PrimitiveUrlStr
			  Else
				 DefiniteUrl = Left(ConsultUrlStr, InStrRev(ConsultUrlStr, "/")) & PrimitiveUrlStr
			  End If
		   ElseIf Left(PrimitiveUrlStr, 3) = "../" Then
			  Do While Left(PrimitiveUrlStr, 3) = "../"
				 PrimitiveUrlStr = Right(PrimitiveUrlStr, Len(PrimitiveUrlStr) - 3)
				 Pi = Pi + 1
			  Loop
			  For Ci = 0 To (UBound(ConArray) - 1 - Pi)
				 If DefiniteUrl <> "" Then
					DefiniteUrl = DefiniteUrl & "/" & ConArray(Ci)
				 Else
					DefiniteUrl = ConArray(Ci)
				 End If
			  Next
			  DefiniteUrl = DefiniteUrl & "/" & PrimitiveUrlStr
		   Else
			  If InStr(PrimitiveUrlStr, "/") > 0 Then
				 PriArray = Split(PrimitiveUrlStr, "/")
				 If InStr(PriArray(0), ".") > 0 Then
					If Right(PrimitiveUrlStr, 1) = "/" Then
					   DefiniteUrl = "http:\\" & PrimitiveUrlStr
					Else
					   If InStr(PriArray(UBound(PriArray) - 1), ".") > 0 Then
						  DefiniteUrl = "http:\\" & PrimitiveUrlStr
					   Else
						  DefiniteUrl = "http:\\" & PrimitiveUrlStr & "/"
					   End If
					End If
				 Else
					If Right(ConsultUrlStr, 1) = "/" Then
					   DefiniteUrl = ConsultUrlStr & PrimitiveUrlStr
					Else
					   DefiniteUrl = Left(ConsultUrlStr, InStrRev(ConsultUrlStr, "/")) & PrimitiveUrlStr
					End If
				 End If
			  Else
				 If InStr(PrimitiveUrlStr, ".") > 0 Then
					If Right(ConsultUrlStr, 1) = "/" Then
					   If Right(LCase(PrimitiveUrlStr), 3) = ".cn" Or Right(LCase(PrimitiveUrlStr), 3) = "com" Or Right(LCase(PrimitiveUrlStr), 3) = "net" Or Right(LCase(PrimitiveUrlStr), 3) = "org" Then
						  DefiniteUrl = "http:\\" & PrimitiveUrlStr & "/"
					   Else
						  DefiniteUrl = ConsultUrlStr & PrimitiveUrlStr
					   End If
					Else
					   If Right(LCase(PrimitiveUrlStr), 3) = ".cn" Or Right(LCase(PrimitiveUrlStr), 3) = "com" Or Right(LCase(PrimitiveUrlStr), 3) = "net" Or Right(LCase(PrimitiveUrlStr), 3) = "org" Then
						  DefiniteUrl = "http:\\" & PrimitiveUrlStr & "/"
					   Else
						  DefiniteUrl = Left(ConsultUrlStr, InStrRev(ConsultUrlStr, "/")) & "/" & PrimitiveUrlStr
					   End If
					End If
				 Else
					If Right(ConsultUrlStr, 1) = "/" Then
					   DefiniteUrl = ConsultUrlStr & PrimitiveUrlStr & "/"
					Else
					   DefiniteUrl = Left(ConsultUrlStr, InStrRev(ConsultUrlStr, "/")) & "/" & PrimitiveUrlStr & "/"
					End If
				 End If
			  End If
		   End If
		
			  
		
		
		   If Left(DefiniteUrl, 1) = "/" Then
			 DefiniteUrl = Right(DefiniteUrl, Len(DefiniteUrl) - 1)
		   End If
		   If DefiniteUrl <> "" Then
			  DefiniteUrl = Replace(DefiniteUrl, "//", "/")
			  DefiniteUrl = Replace(DefiniteUrl, ":\\", "://")
		   Else
			  DefiniteUrl = "Error"
		   End If
		   
		  
		   
		   '我加进去的
		   If CheckTheChar("http://", DefiniteUrl) > 1 Then
			 DefiniteUrl = "http://" & Replace(DefiniteUrl, "http://", "")
		   End If
		   
		End Function
		
		'==================================================
		'函数名:ReplaceSaveRemoteFile
		'作  用:替换、保存远程图片
		'参  数:ConStr ------ 要替换的字符串
		'参  数:SaveTf ------ 是否保存文件,False不保存,True保存
		'参  数: TistUrl------ 当前网页地址
		'==================================================
		Function ReplaceSaveRemoteFile(UploadFiles, Constr, strInstallDir, strChannelDir, SaveTf, TistUrl)
		   If Constr = "Error" Or Constr = "" Or strInstallDir = "" Or strChannelDir = "" Then
			  ReplaceSaveRemoteFile = Constr
			  Exit Function
		   End If
		   Dim TempStr, TempStr2, TempStr3, re, Matches, Match, Tempi, TempArray, TempArray2
		
		   Set re = New RegExp
		   re.IgnoreCase = True
		   re.Global = True
		   re.Pattern = "<img.+?[^\>]>"
		   Set Matches = re.Execute(Constr)
		   For Each Match In Matches
			  If TempStr <> "" Then
				 TempStr = TempStr & "$Array$" & Match.value
			  Else
				 TempStr = Match.value
			  End If
		   Next
		   If TempStr <> "" Then
			  TempArray = Split(TempStr, "$Array$")
			  TempStr = ""
			  For Tempi = 0 To UBound(TempArray)
				 re.Pattern = "src\s*=\s*.+?\.(gif|jpg|bmp|jpeg|psd|png|svg|dxf|wmf|tiff)"
				 Set Matches = re.Execute(TempArray(Tempi))
				 For Each Match In Matches
					If TempStr <> "" Then
					   TempStr = TempStr & "$Array$" & Match.value
					Else
					   TempStr = Match.value
					End If
				 Next
			  Next
		   End If
		   If TempStr <> "" Then
			  re.Pattern = "src\s*=\s*"
			  TempStr = re.Replace(TempStr, "")
		   End If
		   Set Matches = Nothing
		   Set re = Nothing
		   If TempStr = "" Or IsNull(TempStr) = True Then
			  ReplaceSaveRemoteFile = Constr
			  Exit Function
		   End If
		   TempStr = Replace(TempStr, """", "")
		   TempStr = Replace(TempStr, "'", "")
		   TempStr = Replace(TempStr, " ", "")
		
		   Dim RemoteFileUrl, SavePath, PathTemp, DtNow, strFileName, strFileType, ArrSaveFileName, RanNum, Arr_Path
		   DtNow = Now()
		   If SaveTf = True Then
		 '***********************************
			  'SavePath= strChannelDir & "/" & year(DtNow) & right("0" & month(DtNow),2) & "/"
				   If KSCMS.GetConfig("SaveImgByDate") = 1 Then
					  SavePath = "/" & KSCMS.GetConfig("BeyondPicDir") & Year(Now()) & "-" & Right("0" & Month(Now()), 2) & "/"
					Else
					  SavePath = "/" & KSCMS.GetConfig("BeyondPicDir")
				   End If
			  'Response.Write "链接路径:" & savepath & "<br>"
			  Arr_Path = Split(SavePath, "/")
			  PathTemp = ""
			  For Tempi = 0 To UBound(Arr_Path)
				 If Tempi = 0 Then
					PathTemp = Arr_Path(0) & "/"
				 ElseIf Tempi = UBound(Arr_Path) Then
					Exit For
				 Else
					PathTemp = PathTemp & Arr_Path(Tempi) & "/"
				 End If
				 If CheckDir(PathTemp) = False Then
					If MakeNewsDir(PathTemp) = False Then
					   SaveTf = False
					   Exit For
					End If
				 End If
			  Next
		   End If
		
		   '去掉重复图片开始
		   TempArray = Split(TempStr, "$Array$")
		   TempStr = ""
		   For Tempi = 0 To UBound(TempArray)
			  If InStr(LCase(TempStr), LCase(TempArray(Tempi))) < 1 Then
				 TempStr = TempStr & "$Array$" & TempArray(Tempi)
			  End If
		   Next
		   TempStr = Right(TempStr, Len(TempStr) - 7)

⌨️ 快捷键说明

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