获取远程flash并保存到本地

代码如下:

<%
'--------------------------------------------------------------
 Dbname = "../data/flash.mdb"          '更改数据库文件位置,强烈建议更改为.asp的文件!
 Set Conn = Server.CreateObject("ADODB.Connection")
 Connstr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.Mappath(Dbname)
 Conn.Open Connstr
'------------------------------------------------------------
 Set List = Conn.Execute("Select * From System")
 WebName = List("WebName")
 WebUrl = List("WebUrl")
 webemail = List("webemail")
 zzname = List("zzname")
 qq = List("webqq")
%>

<%
Server.ScriptTimeOut=999999999
%>
<%
if request("overid")="" then
response.write "结束ID不可为空"
response.end
elseif request("download")="" then
response.write "请选择是否下载"
response.end
end if
if request("id")=request("overid") then
response.write "采集任务结束"
response.end
end if
gourl1=request("id")
gourl1=gourl1+1
%>
<%
function GetPy(Str)
  for i=1 to len(Str)
     GetPy=GetPy&GetPyChar(mid(Str,i,1))
  next
end function
Function GetURL(url) 
   Set Retrieval = CreateObject("Microsoft.XMLHTTP") 
  With Retrieval 
    .Open "GET", url, False
    .Send 
    GetURL = bytes2bstr(.responsebody)
    if len(.responsebody)<100 then
       response.write "获取远程文件 <a href="&url&" target=_blank>"&url&"</a> 失败。"
       response.write"<meta http-equiv=""refresh"" content=""0;URL=getid.asp?id="&gourl1&""">"
       response.end
    end if
  End With 
  Set Retrieval = Nothing 
End Function
function bytes2bstr(vin) 
  strreturn = "" 
  for i = 1 to lenb(vin) 
       thischarcode = ascb(midb(vin,i,1)) 
    if thischarcode < &h80 then 
       strreturn = strreturn & chr(thischarcode) 
    else 
       nextcharcode = ascb(midb(vin,i+1,1)) 
       strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode)) 
       i = i + 1 
    end if 
  next 
  bytes2bstr = strreturn 
end function
Function GetKey(HTML,Start,Last)
  filearray=split(HTML,Start)
  filearray2=split(filearray(1),Last)
  GetKey=filearray2(0)
End Function
'------------------------------------
Function SaveRemoteFile(s_LocalFileName, s_RemoteFileUrl)
    Dim Ads, Retrieval, GetRemoteData
    Dim bError
    bError = False
    SaveRemoteFile = False
    On Error Resume Next
    Set Retrieval = Server.CreateObject("Msxml2.ServerXMLHTTP")
    With Retrieval
        .Open "GET", s_RemoteFileUrl, False
        .Send
        If .Status = 200 Then
            GetRemoteData = .ResponseBody
        Else
            bError = True
        End If
    End With
    Set Retrieval = Nothing
    If Not bError Then
        Set Ads = Server.CreateObject("Adodb.Stream")
        With Ads
            .Type = 1
            .Open
            .Write GetRemoteData
            .SaveToFile Server.MapPath(s_LocalFileName), 2
            .Cancel()
            .Close()
        End With
        Set Ads=nothing
    End If
    If Err.Number = 0 And Not bError Then
        SaveRemoteFile = True
    Else
        Err.Clear
    End If
End Function
%>
<%
flashId=Request("Id")
Url="http://www.gameyes.com/swf/"&flashId&".htm" 
Html = GetURL(Url) 
num=len(html)
if num<600 then
   response.write "<font color=red>FLASH序号:</font>  "&gourl1
   response.write "此页不存在,跳转下一个........<meta http-equiv=""refresh"" content=""0;URL=getid.asp?id="&gourl1&"&overid="&request("overid")&"&download="&request("download")&""">"
   response.end
end if
nclassid1=GetKey(Html,"FLASH游戏 >> <a class=a href=../list/a_",".htm>")  '
nclass=GetKey(Html,"<a class=a href=../list/a_"&nclassid1&".htm>","</a>")
nclass=nclass&"类"
classid1=GetKey(Html,"class=a href='../list/",".htm'>")
classname=GetKey(Html,"class=a href='../list/"&classid1&".htm'>","</a>")
body=GetKey(Html,"<div id=""view_intro"">","</div>")
body=replace(body,"<tr>","")
body=replace(body,"<td>","")
pic1=GetKey(Html,"#secrt{background:url(../smallpic",") 2 2 no-repeat;border:1px")
pic1=replace(pic1,"_b.gif",".gif")
pic1=replace(pic1,"_b.jpg",".jpg")
pic="http://www.gameyes.com/smallpic"&pic1
pictype=right(pic,4)
flashurl=GetKey(Html,"download.asp?id="&flashId&"&swf=","""><img src=")
flashurl=replace(flashurl,"http://old.gameyes.com/flash","http://60.191.9.222/flash")
flashurl="http://old.gameyes.com/flash"&flashurl
flashname=GetKey(Html,"<title>","小游戏 休闲小游戏网 gameyes.com</title>")
%>
<%
  response.write "<font color=red>FLASH序号:</font>  "&gourl1
  response.write "<br>"
  response.write "<font color=red>FLASH名称:</font>  "&flashname
  response.write "<br>"
  response.write "<font color=red>所属大类:</font>  "&nclass
  response.write "<br>"
  response.write "<font color=red>所属二类:</font>  "&classname
  response.write "<br>"
  response.write "<font color=red>游戏介绍:</font>  "&body
  response.write "<br>"
  response.write "<font color=red>游戏小图:</font>  "&pic
  response.write "<br>"
  response.write "<font color=red>FLASH地址:</font>  "&flashurl
  response.write "<br>"
%>
<%
 if request("download")="yes" then
    response.write"开始下载FLASH<br>"
    response.flush
    result = SaveRemoteFile("../flashfile/"&request("id")&".swf",""&flashurl&"")
    If result Then
       Response.Write "<b>FLASH下载成功——保存在<a href=../flashfile/"&request("id")&".swf target=_blank>flashfile/"&request("id")&".swf</a><br>"
    Else
       Response.Write "<b>FLASH保存失败</b><br>"
    End If
 end if
 if request("download")="yes" then
    response.write"开始下载FLASH图片<br>"
    response.flush
    result = SaveRemoteFile("../flashpic/"&request("id")&pictype&"",""&pic&"")
   If result Then
       Response.Write "<b>FLASH图片下载成功——保存在<a href=../flashpic/"&request("id")&pictype&" target=_blank>flashpic/"&request("id")&pictype&"</a>"
    Else
       Response.Write "<b>FLASH图片保存失败</b><br>"
       response.write "此FLASH采集完毕,继续采集下一个<br><hr>"
    End If
 end if
%>
<%
DBPath = Server.MapPath("../data/flash.mdb")
set Conn=server.createobject("adodb.connection")
    conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
set rs=server.CreateObject("ADODB.RecordSet")
    Sql="Select * From class Where name='"&nclass&"'"
    Rs.Open Sql,Conn,1,3
    If Rs.Eof And Rs.Bof Then
       Rs.AddNew
    End If
    rs("name")=nclass
    rs("classid")="0"
    Rs.Update
    Rs.Close
Set Rs = Nothing
Set rsc = Conn.Execute("select * from class where name='"&nclass&"'")
 nclassid=rsc("id")
 rsc.close
 set rsc=nothing
'处理FLASH的二级类别,如数据库中没有该类别,则增加
set rst=server.CreateObject("ADODB.RecordSet")
Sql="Select * From class Where name='"&classname&"'"
Rst.Open Sql,Conn,1,3
If Rst.Eof And Rst.Bof Then
Rst.AddNew
End If
  rst("name")=classname
  rst("classid")=nclassid
  Rst.Update
Rst.Close
Set Rst = Nothing
 '取类别的ID号
 Set rsc = Conn.Execute("select * from class where name='"&classname&"'")
 classid=rsc("id")
 rsc.close
 set rsc=nothing
'===================================================
'可以开始写入flash
set rs=server.CreateObject("ADODB.RecordSet")
Sql="Select * From flash Where flashname='"&flashname&"' and flashurl='"&flashurl&"'"
Rs.Open Sql,Conn,1,3
If Rs.Eof And Rs.Bof Then
Rs.AddNew
End If
  rs("flashname")=flashname
if request("download")="yes" then
  rs("flashurl")="../flashfile/"&request("id")&".swf"
else
  rs("flashurl")=flashurl
end if
  rs("nclass")=NClassID
  rs("classid")=classid
  rs("classname")=classname
if request("download")="yes" then
  rs("pic")="../flashpic/"&request("id")&pictype
else
  rs("pic")=pic
end if
  rs("size")="500kb"
  rs("sj")=now()
  rs("body")=body
  rs("tj")="no"
  rs("hot")="1"
  rs("user")="admin"
  rs("zz")="未知"
  rs("geshou")="不祥"
  Rs.Update
Rs.Close
Set Rs = Nothing
conn.close
set conn=nothing
%>
<%
dim gourl
gourl=flashId+1
response.write"<meta http-equiv=""refresh"" content=""0;URL=getid.asp?id="&gourl&"&overid="&request("overid")&"&download="&request("download")&""">"
%>

(0)

相关推荐

  • 获取远程flash并保存到本地

    复制代码 代码如下: <% '--------------------------------------------------------------  Dbname = "../data/flash.mdb"          '更改数据库文件位置,强烈建议更改为.asp的文件!  Set Conn = Server.CreateObject("ADODB.Connection")  Connstr = "Provider = Microsof

  • PHP获取远程图片并保存到本地的方法

    本文实例讲述了PHP获取远程图片并保存到本地的方法.分享给大家供大家参考.具体实现方法如下: <?php function GrabImage($url, $filename = "") { if ($url == ""):return false; endif; //如果$url地址为空,直接退出 if ($filename == "") { //如果没有指定新的文件名 $ext = strrchr($url, "."

  • Python爬虫获取图片并下载保存至本地的实例

    1.抓取煎蛋网上的图片. 2.代码如下: import urllib.request import os #to open the url def url_open(url): req=urllib.request.Request(url) req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0') response=urllib.request.u

  • PHP下载远程图片并保存到本地方法总结

    1.获取远程文件大小及信息的函数 function getFileSize($url){ $url = parse_url($url); if($fp = @fsockopen($url['host'],empty($url['port'])?80:$url['port'],$error)){ fputs($fp,"GET ".(empty($url['path'])?'/':$url['path'])." HTTP/1.1\r\n"); fputs($fp,&qu

  • 用js实现下载远程文件并保存在本地的脚本

    //use: cscript this.js http://www.xxx.com/xxx.exe c:\xxx.exe var objArgs = WScript.Arguments; var sGet=new ActiveXObject("ADODB.Stream"); var xGet = false; try { xGet = new XMLHttpRequest(); }  catch (trymicrosoft) { try {     xGet = new ActiveX

  • 分享PHP源码批量抓取远程网页图片并保存到本地的实现方法

    做为一个仿站工作者,当遇到网站有版权时甚至加密的时候,WEBZIP也熄火,怎么扣取网页上的图片和背景图片呢.有时候,可能会想到用火狐,这款浏览器好像一个强大的BUG,文章有版权,屏蔽右键,火狐丝毫也不会被影响. 但是作为一个热爱php的开发者来说,更多的是喜欢自己动手.所以,我就写出了下面的一个源码,php远程抓取图片小程序.可以读取css文件并抓取css代码中的背景图片,下面这段代码也是针对抓取css中图片而编写的. <?php header("Content-Type: text/ht

  • 图片自动保存到本地并利用aspjpeg为图片加水印

    <% '函数功能:远程图片自动保存到本地服务器,并利用aspjpeg为图片加上水印 '(注意:请先在目录下创建images目录,用来保存临时图片) '本程序需要在服务器上安装"aspjpeg组件"否则无法正常使用 '也可以只取'''''22222222'''''''以上的部分,这部分可以保存图片,第二部分是进行水印增加 '使用方法,请保存为saveimg.asp 'saveimg.asp?url=http://siyizhu.com/logo.gif 即可以取下图片啦,HOHO.

  • php获取远程图片并下载保存到本地的方法分析

    本文实例讲述了php获取远程图片并下载保存到本地的方法.分享给大家供大家参考,具体如下: 远程图片指的是远端服务器上的数据我们可以通过php的许多函数来读取下载了,这里整理了两个可以自动下载远程图片并下载保存到本地的例子. 例1,可以自动识别图片类型然后进行对应的保存 /* *功能:php完美实现下载远程图片保存到本地 *参数:文件url,保存文件目录,保存文件名称,使用的下载方式 *当保存文件名称为空时则使用远程文件原来的名称 */ function getImage($url,$save_d

  • php 远程图片保存到本地的函数类

    <?php // // Function: 获取远程图片并把它保存到本地 // // // 确定您有把文件写入本地服务器的权限 // // // 变量说明: // $url 是远程图片的完整URL地址,不能为空. // $filename 是可选变量: 如果为空,本地文件名将基于时间和日期 // 自动生成. function GrabImage($url,$filename="") { if($url==""):return false;endif; if($

  • Java实现获取小程序带参二维码并保存到本地

    目录 获取小程序带参二维码并保存到本地 业务场景 POSTMAN调试 WxUtil封装:下载带参数的小程序二维码 Controller调用 下载验证 微信小程序码的生成及保存到阿里云oss 阿里云oss工具类 获取小程序带参二维码并保存到本地 业务场景 下载并保存带参数的小程序二维码,用户直接扫描带参二维码就进入小程序,自动根据参数完成部分业务.这个时候就需要用到微信小程序提供的二维码接口 wxacode.getUnlimited ,官方文档地址 网上介绍的很多方法有些过时了,有些不科学,调用起

随机推荐