Python下载prettyloaded的swf

以前看到prettyloaded上面的loading条都很不错,最近又有需要用到loading条,怎奈它并不提供直接打包下载,只好自己写程序去抓取了…

访问:http://www.prettyloaded.com/ ,用httwatch可以分析出它的swf配置文件是这个地址:http://www.prettyloaded.com/php/getAllLoadersAsXMLList.php

image

 

另存为xml,名字就随便了,保存路径最好不要有中文。

 

因为要使用pyton来处理,首先是机器上要装有python的环境,代码编辑器就随便了(用着顺手的都行,我用的是editPlus)…

有几点是在写代码中遇到的问题,还有几点是有等解决的问题:

1、下载地址后面要带上随机数,用来请求最新的文件

2、找到下载文件的地址是如此拼接起来了

3、解析xml的处理(使用google搜索老半天,最后还是直接看官方文档解决了问题) xml.etree.ElementTree

4、对路径的处理,先判断路径是否存在,不存在先创建目录

5、代码暂时不支持多线程下载,有空再好好更新一下

 

下面是代码了,python是自己下班后随便看了一些,研究的不多,也不常用它(代码可能写的并不规范,但它能满足我自己的需求^_^)

   1: # -*- coding: utf-8 -*-
   2: """
   3: Created on Sat Dec 11 15:05:51 2010
   4:  
   5: @author: ZhangYi
   6: """
   7: from xml.etree import ElementTree
   8: import time, urllib, os
   9:  
  10:  
  11: def load_xml_file(fileName):
  12:     root = ElementTree.parse(fileName,None).getroot();
  13:     
  14:     items = root.findall("preloaders/preloader")
  15:     
  16:     #string.atoi(s,[,base]) //base为进制基数
  17:     
  18:     for temp_item in items:
  19:         swf_name = temp_item.get("swf")
  20:         now_date = str(time.time())
  21:         
  22:         swf_url = "http://www.prettyloaded.com/swf/" + swf_name + "?cachebuster=" + now_date
  23:         
  24:         print 'read request url is : ' + swf_url + ' begin down...'
  25:         
  26:         load_swf_file(swf_url, swf_name)
  27:         
  28:         break
  29:  
  30:  
  31: def load_swf_file(swfUrl, swfName):
  32:     sava_dir_path = 'd:\\test\\'
  33:     save_path = sava_dir_path + swfName
  34:     
  35:     #如果目录不存在,则先创建目录
  36:     if os.path.exists(sava_dir_path) == False:
  37:         os.mkdir(sava_dir_path)
  38:     
  39:     #如果文件存在则先删除文件 
  40:     if os.path.isfile(save_path) == True:
  41:         os.remove(save_path)
  42:     
  43:     #第一种方法
  44:     #swf_url = swfUrl
  45:     #swf_data = urllib.urlopen(swf_url).read()
  46:     #swf_file = file(save_path, 'wb')
  47:     #swf_file.write(swf_data)
  48:     #swf_file.close()
  49:     
  50:     #另一种方法
  51:     urllib.urlretrieve(swfUrl, save_path)
  52:     
  53:     print swfUrl + ' down end...'
  54:     
  55: if __name__ == "__main__":  
  56:     url = 'C:/pythonApp/swf_list.xml'
  57:     load_xml_file(url)

 

这样我在D盘就能看到下载的文件了:

image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值