每天定时下载mp3并移动昨日旧文件
- 目标:在网页中寻找当日voa special engelish的mp3,并下载。
- 要点分析:
首先得到当日日期,因为在mp3的url中需要。url的例子如http://njtelecom.unsv.com/archives/voanews/specialenglish/2009/09/03/0041/%7B1d33143e-ccc8-41a1-8e02-d9d891f88b0b%7D/special200909030041.mp3。但是在网页中不能找到上述网址,使用正则表达式匹配出来的url是 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'。
- 代码:
#目标:在网页中寻找当日voa special engelish的mp3,并下载。
#分析:
#首先得到当日日期,因为在mp3的url中需要。
import urllib2,time,re
import os
from os import listdir
from os.path import isdirdef 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()- 遗留问题:如何获得文件的大小,以便下载的时候显示进度。
- 参考资料:
- windowsxp计划任务设置http://www.docin.com/p-18820441.html
- py2exe使用:http://www.jb51.net/article/9296.htm
- 文件移动:http://www.blogjava.net/daning/archive/2008/01/11/113764.html
- 字符串格式化:http://www.tsnc.edu.cn/default/tsnc_wgrj/doc/pythonhtml/html/native_data_types/formatting_strings.html
- 正则表达式参考文档:http://www.regexlab.com/zh/regref.htm
- 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
- python文件下载:http://topic.csdn.net/u/20090707/15/f48d1118-fa3a-4b36-bb16-58af47b353ca.html
每天定时下载mp3并移动昨日旧文件相关推荐
- python定时播放音乐程序_python实现定时播放mp3
python实现定时播放mp3 程序很简单,主要是 mp3play 模块的应用 import mp3play, time filename = "Should It Matter.mp3&q ...
- 6个免费的音乐下载网站,一键下载MP3歌曲
分享6个免费下载音乐的网站,个个音乐资源丰富,想听的各种风格音乐都能在这里找到,而且还能在线播放以及直接下载MP3格式,喜欢听歌的朋友一定不能错过! 1.Myfreemp3 https://tool. ...
- 让IE浏览器支持GreaseMonkey,解除YOBO的禁止下载mp3
作者:代码乱了 转载请注明出去 YOBO是我比较喜欢的一个音乐站点,界面清爽,独特的"音乐DNA"(即通过心理测试来为你自动推荐歌曲),国内的音乐推荐站点中算是一枝独秀.音乐全 ...
- Emscripten 单词_免费下载 | 北师大版高中英语教材重点单词汇总(可下载mp3版本)...
今日份福利:北师大版高中英语单词音频(可下载mp3版本)资料领取.词汇汇总合辑 北师大版高中英语必修1Unit1单词听力音频 北师大版高中英语必修1Unit2单词听力音频 北师大版高中英语必修1Un ...
- 网易云音乐怎样下载mp3格式的音乐
网易云音乐怎样下载mp3格式的音乐 选择下面这两种音质的音乐,最后音乐的格式都是mp3.
- python下载MP3到本地
下载MP3文件到本地 具体代码如下: import os import requests def DownloadFile(mp3_url, save_url,file_name):try:if mp ...
- delphi 裁剪mp3_MP3剪切器下载-MP3剪切器正式版下载[电脑版]-PC下载网
MP3剪切器正式版 MP3剪切器正式版是款针对MP3音频所打造的剪切工具.MP3剪切器相当拥有了MP3剪切器,WMA剪切器,WAV剪切器,AMR剪切器等,非常适合做铃声制作软件.MP3剪切器还支持MP ...
- python下载mp3文件_Python 下载Mp3
importrequests,os,time,sys,reimporturllib.requestimportrequestsfrom bs4 importBeautifulSoupimportosf ...
- 使用浏览器免费下载MP3,MP4等可在线播放的媒体资源(图文详解)。
使用浏览器免费下载MP3,MP4等可在线播放的媒体资源 第一步进入你想要的媒体页面,本文任意使用一个网站(申明仅供学习使用,任何商用与本人无关). 2.按键盘f12,进入开发者页面. 3.点击Netw ...
最新文章
- MySql常用命令总结[转]
- 新建swap分区的规划、挂载和自动挂载示例
- 探索式软件测试—Exploratory Software Testing
- 静态库与动态库(一):概述
- 【03】json使用
- 为了更准确的验证码而奋斗-云大urp教务系统大作战(1.5)
- 面试中的智力题及编程实践(二)
- AIO、NIO、BIO
- JMeter循环控制器循环次数使用变量控制注意事项
- SQL SERVER存储过程的几种示例
- ASP.NET Web API 安全验证之摘要(Digest)认证
- LintCode—合并两个排序链表(165)
- 【工具篇】Unity迷宫地图生成器MazeSpawner随机迷宫信手拈来
- UMD 被淘汰了吗?不考虑的 UMD 的库如何在纯 UMD 前端项目中运行?
- 软件使用-历史足迹-01
- 微信小程序云开发教程-手把手:小程序数据库设计
- window10 下载速度限制问题解决方案
- 修改webbrower中浏览器版本
- 广东专升本C语言程序设计(完结)
- Excel2010条件格式结合公式和格式刷使用存在严重bug