ASP采集入库生成本地文件的几个FUCTION

mac2022-06-30  24

ASP网站数据采集程序制作:一个采集入库生成本地文件的几个FUCTION(可用来生成HTML静态网页)

看着一个又一个网站系统里都带了采集功能模块,让我心动,很想让自己做的网站里也带个采集模块,可惜一直都不知道如何下手,现在有了这几个函数,你也可以制作出自己的采集程序,而且可以利用这样的原理来生成HTML静态网页.

本文里介绍采集程序的方法分成以下几个函数来实现:

1:SaveFiles(byref from,byref tofile)作用 :利用流保存文件' 参数 :from(远程文件地址),tofile(保存文件位置)

2:IsExists(byref filespec) 作用 :利用fso检测文件是否存在,存在返回true,不存在返回false' 参数 :filespes(文件位置)

3:IsFolder(byref Folder)作用 :利用fso检测文件夹是否存在,存在返回true,不存在返回false' 参数 :folder(文件夹位置)

4:CreateFolder(byref fldr) 作用 :利用fso创建文件夹' 参数 :fldr(文件夹位置)

5:SaveData(byref FromUrl,byref ToFiles)作用 :保存文件,并自动创建多级文件夹' 参数 :fromurl(远程文件地址),tofiles (保存位置)

6:GetData(byref url,byref GetMode) 作用 :取得远程数据' 参数 :url(远程文件地址),getmode (模式:0为二进制,1为中文编码)

7:FormatImgPath(byref ImgUrl,byref ImgFolder,byref FristName,byref noimg)作用 :格式化远程图片地址为本地位置' 参数 :imgurl(远程图片地址),imgfolder (本地图片目录),fristname(加入的前缀名称)

有了以上这7个函数,你就可以做一个简单的网站数据采集程序了,下面贴出实现的详细代码.


'*****************************************************************' function' 作用 :利用流保存文件' 参数 :from(远程文件地址),tofile(保存文件位置)'*****************************************************************Private Function SaveFiles(byref from,byref tofile) Dim Datas Datas=GetData(from,0) Response.Write "保存成功:<font color=red>"&formatnumber(len(Datas)/1024*2,2)&"</font>Kb" response.Flush if formatnumber(len(Datas)/1024*2,2)>1 then  ADOS.Type = 1  ADOS.Mode =3  ADOS.Open  ADOS.write Datas  ADOS.SaveToFile server.mappath(tofile),2  ADOS.Close() else  Response.Write "保存失败:<font color=red>文件大小"&formatnumber(len(imgs)/1024*2,2)&"Kb,小于1K</font>"  response.Flush end ifend function'*****************************************************************' function(私有)' 作用 :利用fso检测文件是否存在,存在返回true,不存在返回false' 参数 :filespes(文件位置)'*****************************************************************Private Function IsExists(byref filespec)  If (FSO.FileExists(server.MapPath(filespec))) Then IsExists = True Else IsExists = False End IfEnd Function

'*****************************************************************' function(私有)' 作用 :利用fso检测文件夹是否存在,存在返回true,不存在返回false' 参数 :folder(文件夹位置)'*****************************************************************Private Function IsFolder(byref Folder) If FSO.FolderExists(server.MapPath(Folder)) Then   IsFolder = True Else IsFolder = False End IfEnd Function

'*****************************************************************' function(私有)' 作用 :利用fso创建文件夹' 参数 :fldr(文件夹位置)'*****************************************************************Private Function CreateFolder(byref fldr)  Dim f Set f = FSO.CreateFolder(Server.MapPath(fldr)) CreateFolder = f.Path Set f=nothingEnd Function

'*****************************************************************' function(公有)' 作用 :保存文件,并自动创建多级文件夹' 参数 :fromurl(远程文件地址),tofiles (保存位置)'*****************************************************************Public Function SaveData(byref FromUrl,byref ToFiles) ToFiles=trim(Replace(ToFiles,"//","/")) flName=ToFiles fldr="" If IsExists(flName)=false then   GetNewsFold=split(flName,"/") For i=0 to Ubound(GetNewsFold)-1  if fldr="" then   fldr=GetNewsFold(i)  else   fldr=fldr&"\"&GetNewsFold(i)  end if  If IsFolder(fldr)=false then   CreateFolder fldr  End if Next SaveFiles FromUrl,flName End ifEnd function'*****************************************************************' function(公有)' 作用 :取得远程数据' 参数 :url(远程文件地址),getmode (模式:0为二进制,1为中文编码)'*****************************************************************Public Function GetData(byref url,byref GetMode)  'on error resume next  SourceCode = OXML.open ("GET",url,false) OXML.send()  if OXML.readystate<>4 then exit function if GetMode=0 then GetData = OXML.responseBody else GetData = BytesToBstr(OXML.responseBody) end if if err.number<>0 then err.ClearEnd Function

'*****************************************************************' function(公有)' 作用 :格式化远程图片地址为本地位置' 参数 :imgurl(远程图片地址),imgfolder (本地图片目录),fristname(加入的前缀名称)'*****************************************************************Public Function FormatImgPath(byref ImgUrl,byref ImgFolder,byref FristName,byref noimg) strpath="" ImgUrl=ImgUrl if instr(ImgUrl,"Nophoto") or lenb(GetData(ImgUrl,0))<=0 then  strpath=noimg  Response.Write "<a href="&strpath&">"&strpath&"</a>" &vbcrlf else  if Instr(ImgUrl,".asp") then   strpath=FristName&"_"&Mid(ImgUrl, InStrRev(ImgUrl, "=")+1)&".jpg"  else   strpath=FristName&"_"&Mid(ImgUrl, InStrRev(ImgUrl, "/")+1)  end if  strpath = ImgFolder&"/"&strpath  strpath = Replace(strpath,"//","/")  if left(strpath,1)="/" then strpath=right(strpath,len(strpath)-1)  strpath = trim(strpath)  Response.Write "<a href="&strpath&">"&strpath&"</a>" &vbcrlf  savedata ImgUrl,strpath end if FormatImgPath = strpathEnd function

转载于:https://www.cnblogs.com/webman/archive/2008/01/11/1034778.html

最新回复(0)