采集程序是可以直接或間接按照規則定向獲取數據的方式,因此很多人為了方便都會自己寫采集程序,那么要如何寫采集程序呢?下面是錯新小編為大家整理的自動采集程序的實例代碼。
復制代碼 代碼如下:
<%
??On?Error?Resume?Next
??Const?uploadPath?=?"/uploads/"?'文件存放路徑
??Const?allowFileExt?=?"jpg,wma,swf,gif"?'允許被采集的文件類型
??'Const?allowFileSize?=?"200"
??Function?getFile(url)
????If?url?=?""?Then
??????Exit?Function
????Else
??????url?=?Trim(url)
????End?If
????'獲取文件
????fileExt?=?Lcase(Mid(url,Instrrev(url,?".")+1))?'文件類型
????fileName?=?Lcase(Mid(url,Instrrev(url,?"/")+1,Instrrev(url,?".")-Instrrev(url,?"/")-1))?'無文件類型的文件名
????newFilePath?=?getNow("Date")?&?"_"?&?Replace(FormatDateTime(Now(),3),":","")?&?"_"?&?cleanFileName(fileName)?&?"."?&?fileExt
????if?Instr(","&Lcase(allowFileExt)&",",","&fileExt&",")?=?0?Then
??????getFile?=?"文件類型不允許"
??????Exit?Function
????End?If
????Set?xmlhttp?=?Server.CreateObject("Microsoft.XMLHTTP")
????xmlhttp.open?"get",url,false
????xmlhttp.send
????'While?xmlhttp.readyState?<>?4
????'?xmlhttp.waitForResponse?1000
????'Wend
????If?xmlhttp.status?<>?200?Then
??????getFile="獲取文件出錯"
??????Exit?Function
????Else
??????Set?folder=Server.CreateObject("Scripting.FileSystemObject")
??????Dim?folderName
??????folderName?=?getNow("Year")&getNow("Month")?'文件夾
??????If?folder.FolderExists(Server.MapPath(uploadPath))=False?Then
????????folder.CreateFolder?Server.MapPath(uploadPath)
??????End?If
??????If?folder.FolderExists(Server.MapPath(uploadPath?&?folderName))=False?Then
????????folder.CreateFolder?Server.MapPath(uploadPath?&?folderName)
??????End?If
??????Set?folder=Nothing
??????file=xmlhttp.ResponseBody
??????If?lenb(file)?>?allowFileSize?Then
????????getFile?=?"文件太大,不能保存!"
????????Exit?Function
??????Else
????????Set?objAdostream=Server.Createobject("ADODB.Str"&"eam")
????????objAdostream.Open()
????????objAdostream.Type=1
????????objAdostream.Write(file)
????????objAdostream.SaveToFile(Server.Mappath(uploadPath?&?folderName?&"/"?&?newFilePath))
????????objAdostream.SetEOS
????????Set?objAdostream=Nothing
????????getFile=?"<a?href="""&uploadPath?&?folderName?&"/"?&?newFilePath&"""?target=""_balnk"">采集成功</a>"
??????End?If
????End?If
????Set?xmlhttp=Nothing
??End?Function
%>
<script?runat="server"?language="jscript">
function?cleanFileName(str){
?str?=?str.replace(/[^_/.a-zA-Z/d]/ig,"");
?str?=?str.replace(/^[///.]+/,"");
?return?str;
}
function?getNow(n)
{
??d?=?new?Date();
??switch?(n)
??{
????case?"Year":
??????return?d.getYear();
????case?"Month":
?????return?(d.getMonth()?+?1);
????case?"Date":
??????return?d.getDate();
??}
}
</script>
<%if?request("do")="getfile"?and?request("file")?<>?""?then
response.write(getFile(request("file")))
else%>
<form?id="gform"?method="post"?action="?do=getfile"?style="display:?inline">
?<input?name="file"?type="input"?style="font-size:12px;"?size="40"?value="http://blog.xiaobin.net/uploads/200512/08_093616_01.gif">?
?<input?type="Submit"?name="Submit"?value="采集?"?class="button">
</form>
<%end?if%>
?以上就是為大家介紹自動采集程序的實例代碼,如果你想了解更深一點的可以進入錯新技術頻道進行了解哦。