1. 目标:在网页中寻找当日voa special engelish的mp3,并下载。
  2. 要点分析:
    首先得到当日日期,因为在mp3的url中需要。url的例子如http://njtelecom.unsv.com/archives/voanews/specialenglish/2009/09/03/0041/%7B1d33143e-ccc8-41a1-8e02-d9d891f88b0b%7D/special200909030041.mp3。但是在网页中不能找到上述网址,使用正则表达式匹配出来的url是
  3. url='http://njtelecom.unsv.com/archives/voanews/specialenglish/'+time.strftime('%Y/%m/%d',time.localtime())+'//d{4}//{.{30,50}/}//w*'+time.strftime('%Y%m%d',time.localtime())+'/d{4}.mp3'。

  4. 代码:
  5. #目标:在网页中寻找当日voa special engelish的mp3,并下载。
    #分析:
    #首先得到当日日期,因为在mp3的url中需要。
    import urllib2,time,re
    import os
    from os import listdir
    from os.path import isdir

    def test(url):
        print 'Begin download %s'%url[-23:]
        f = open('e:/xdj/voa//new/%s'%url[-23:], 'wb')
        data = urllib2.urlopen(url)
        f.write(data.read())
        print 'Download OK!'
        f.close()
    def downloadnew():
        n=0
        url='http://njtelecom.unsv.com/archives/voanews/specialenglish/'+time.strftime('%Y/%m/%d',time.localtime())+'//d{4}//{.{30,50}/}//w*'+time.strftime('%Y%m%d',time.localtime())+'/d{4}.mp3'
        sock=urllib2.urlopen("http://www.unsv.com/learning-english/")
        source=sock.read()
        namepattern=re.compile(url)
        link=namepattern.findall(source)
        link=list(set(link))
        for i in link:
            test(i)
            n=n+1
        print 'totally download ',n,' new files'

    def moveoldfile():
        k=0
        source = 'e://xdj//voa//new'
        target_dir = 'e://xdj//voa'
        filelist=listdir(source)
        print 'move old files:/n',listdir(source)
        for name in filelist :
            srcFilename = source + '//' + name
            srcFilename = '"' + srcFilename + '"'
    #        desFilename = target_dir + '//' + now + '_' + name
            desFilename = '"' + target_dir + '"'
    #        print
            copy_command = "move /Y %s %s" % (srcFilename, desFilename)
    #        print copy_command
            if os.system(copy_command) == 0:
                k = k + 1
    #            print 'Successful backup to copy from', srcFilename, 'to' ,desFilename
            else:
                print 'Fail to copy', srcFilename, 'to', desFilename
        print 'total move', k, 'files'

    if __name__== '__main__':
    #    url='http://njtelecom.unsv.com/archives/voanews/specialenglish/'+time.strftime('%Y/%m/%d',time.localtime())+'//d{4}//{[0-9a-zA-Z-]{38}/}7D/special'+time.strftime('%Y%m%d',time.localtime())+'/d{4}.mp3'
        moveoldfile()
        downloadnew()

  6. 遗留问题:如何获得文件的大小,以便下载的时候显示进度。
  7. 参考资料:
    1. windowsxp计划任务设置http://www.docin.com/p-18820441.html
    2. py2exe使用:http://www.jb51.net/article/9296.htm
    3. 文件移动:http://www.blogjava.net/daning/archive/2008/01/11/113764.html
    4. 字符串格式化:http://www.tsnc.edu.cn/default/tsnc_wgrj/doc/pythonhtml/html/native_data_types/formatting_strings.html
    5. 正则表达式参考文档:http://www.regexlab.com/zh/regref.htm
    6. date使用:http://blog.csdn.net/suiyunonghen/archive/2009/03/18/3999986.aspx和http://blog.alexa-pro.cn/?p=214和http://python.kgblog.net/2009/08/19/python-date-time.html
    7. python文件下载:http://topic.csdn.net/u/20090707/15/f48d1118-fa3a-4b36-bb16-58af47b353ca.html

每天定时下载mp3并移动昨日旧文件相关推荐

  1. python定时播放音乐程序_python实现定时播放mp3

    python实现定时播放mp3 程序很简单,主要是 mp3play 模块的应用 import mp3play, time filename = "Should It Matter.mp3&q ...

  2. 6个免费的音乐下载网站,一键下载MP3歌曲

    分享6个免费下载音乐的网站,个个音乐资源丰富,想听的各种风格音乐都能在这里找到,而且还能在线播放以及直接下载MP3格式,喜欢听歌的朋友一定不能错过! 1.Myfreemp3 https://tool. ...

  3. 让IE浏览器支持GreaseMonkey,解除YOBO的禁止下载mp3

    作者:代码乱了   转载请注明出去 YOBO是我比较喜欢的一个音乐站点,界面清爽,独特的"音乐DNA"(即通过心理测试来为你自动推荐歌曲),国内的音乐推荐站点中算是一枝独秀.音乐全 ...

  4. Emscripten 单词_免费下载 | 北师大版高中英语教材重点单词汇总(可下载mp3版本)...

    今日份福利:北师大版高中英语单词音频(可下载mp3版本)资料领取.词汇汇总合辑  北师大版高中英语必修1Unit1单词听力音频 北师大版高中英语必修1Unit2单词听力音频 北师大版高中英语必修1Un ...

  5. 网易云音乐怎样下载mp3格式的音乐

    网易云音乐怎样下载mp3格式的音乐 选择下面这两种音质的音乐,最后音乐的格式都是mp3.

  6. python下载MP3到本地

    下载MP3文件到本地 具体代码如下: import os import requests def DownloadFile(mp3_url, save_url,file_name):try:if mp ...

  7. delphi 裁剪mp3_MP3剪切器下载-MP3剪切器正式版下载[电脑版]-PC下载网

    MP3剪切器正式版 MP3剪切器正式版是款针对MP3音频所打造的剪切工具.MP3剪切器相当拥有了MP3剪切器,WMA剪切器,WAV剪切器,AMR剪切器等,非常适合做铃声制作软件.MP3剪切器还支持MP ...

  8. python下载mp3文件_Python 下载Mp3

    importrequests,os,time,sys,reimporturllib.requestimportrequestsfrom bs4 importBeautifulSoupimportosf ...

  9. 使用浏览器免费下载MP3,MP4等可在线播放的媒体资源(图文详解)。

    使用浏览器免费下载MP3,MP4等可在线播放的媒体资源 第一步进入你想要的媒体页面,本文任意使用一个网站(申明仅供学习使用,任何商用与本人无关). 2.按键盘f12,进入开发者页面. 3.点击Netw ...

最新文章

  1. MySql常用命令总结[转]
  2. 新建swap分区的规划、挂载和自动挂载示例
  3. 探索式软件测试—Exploratory Software Testing
  4. 静态库与动态库(一):概述
  5. 【03】json使用
  6. 为了更准确的验证码而奋斗-云大urp教务系统大作战(1.5)
  7. 面试中的智力题及编程实践(二)
  8. AIO、NIO、BIO
  9. JMeter循环控制器循环次数使用变量控制注意事项
  10. SQL SERVER存储过程的几种示例
  11. ASP.NET Web API 安全验证之摘要(Digest)认证
  12. LintCode—合并两个排序链表(165)
  13. 【工具篇】Unity迷宫地图生成器MazeSpawner随机迷宫信手拈来
  14. UMD 被淘汰了吗?不考虑的 UMD 的库如何在纯 UMD 前端项目中运行?
  15. 软件使用-历史足迹-01
  16. 微信小程序云开发教程-手把手:小程序数据库设计
  17. window10 下载速度限制问题解决方案
  18. 修改webbrower中浏览器版本
  19. 广东专升本C语言程序设计(完结)
  20. Excel2010条件格式结合公式和格式刷使用存在严重bug

热门文章

  1. java数据透视表_java poi生成数据透视表
  2. HTML5基础——笔记
  3. springboot+基层慢性病信息管理系统 毕业设计-附源码221550
  4. 什么是物理地址、虚拟地址、总线地址
  5. 关于图像降噪的学习笔记
  6. latex中文加粗失效(楷体)
  7. 君正X系列开发1---系统编译
  8. java定时器,每天执行一次/每隔多久执行一次
  9. 在项目管理中,如何避免出现低级错误?| 每天成就更大成功
  10. java编写换酒问题_算法-空瓶换啤酒问题