【Python】渣代码~批量下载5sing伴奏~
05 Nov 2013我想起了高一的时候经常去songtaste听歌,然后用的木头写的songtaste批量下载助手,
常常膜拜那款工具,也没有想过软件是怎么来的。
当时自以为电脑水平还算牛逼,但没有编程的启蒙,只知道看《大众软件》。
后来变成了屌丝程序员,大二的时候会写C#了,仿了一个songtaste下载助手。
好吧,我现在大四了,但我依然常常回忆木头的那款工具,虽然songtaste好久不上了。
不知道什么时候开始喜欢听伴奏了,是另一种感觉。
为了收集杰伦的所有伴奏,我过去经常去5sing搜索,而且质量还很不错。
没有想过要下载,不过最近抽风,打算把所有歌曲的伴奏整理一下,造福广大网友,看,我就是这么有节操有意识的脑残粉。
不料下伴奏要积分啊,有的积分还很高,立马不淡定了。
好歹也是个写程序的啊,于是操起我的sublime,啪啪啪~ 几分钟搞定~
代码:
# encoding=utf-8 import urllib import urllib2 import re fl = 'musiclist.txt' def fk5sing(): links = get_link() for link in links: source = get_source(link) pat = re.compile(r'file: "(.*?)"') pat2 = re.compile(r'var SongName = "(.*?)";') mlink = pat.findall(source)[0] mname = pat2.findall(source)[0] download(mlink, mname) update_fl(links[1:]) def get_source(link): source = urllib2.urlopen(link).read() return source def download(link, name): urllib.urlretrieve(link, 'music/'+name+'.mp3') def get_link(): f = open(fl, 'r') links = f.readlines() f.close() return links def update_fl(links): f = open(fl, 'w') for link in links: f.write(link) f.close() fk5sing()
使用方法:
在musiclist.txt里填上需要下载的地址(是单曲地址)
然后python 5sing.py
搞定~
等我收集完就放出来我大杰伦所有伴奏~!
额唔哇啊哈哈哈哈哈哈哈哈~~
地址:
https://github.com/Flowerowl/fk5sing
转载请注明:于哲的博客 » 【Python】渣代码~批量下载5sing伴奏~