广

ASP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    自动采集程序

    2018-05-16 07:54:09 次阅读 稿源:互联网
    零七广告
    最近在做一个音乐站,音乐文件嘛。。。一般是从网上收集。。so。。写了一段采集程序。 
    代码如下:

    <%
      On Error Resume Next
      Const uploadPath = "http://img.warting.com/" '文件存放路径
      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.nethttp://img.warting.com/200512/08_093616_01.gif"> 
     <input type="Submit" name="Submit" value="采集 " class="button">
    </form>
    <%end if%>

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告