吉吉于

【Python】渣代码~批量下载5sing伴奏~

我想起了高一的时候经常去songtaste听歌,然后用的木头写的songtaste批量下载助手,

常常膜拜那款工具,也没有想过软件是怎么来的。

当时自以为电脑水平还算牛逼,但没有编程的启蒙,只知道看《大众软件》。

后来变成了屌丝程序员,大二的时候会写C#了,仿了一个songtaste下载助手。

好吧,我现在大四了,但我依然常常回忆木头的那款工具,虽然songtaste好久不上了。

不知道什么时候开始喜欢听伴奏了,是另一种感觉。

为了收集杰伦的所有伴奏,我过去经常去5sing搜索,而且质量还很不错。

没有想过要下载,不过最近抽风,打算把所有歌曲的伴奏整理一下,造福广大网友,看,我就是这么有节操有意识的脑残粉。

不料下伴奏要积分啊,有的积分还很高,立马不淡定了。

好歹也是个写程序的啊,于是操起我的sublime,啪啪啪~ 几分钟搞定~

70$1RNZVOWF7 3E G I G 0

代码:

 

# 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里填上需要下载的地址(是单曲地址)

D0C4A174 764D 4C18 8ED0 CD4285B1ED05

然后python 5sing.py

搞定~

等我收集完就放出来我大杰伦所有伴奏~!

额唔哇啊哈哈哈哈哈哈哈哈~~

地址:

https://github.com/Flowerowl/fk5sing

转载请注明:于哲的博客 » 【Python】渣代码~批量下载5sing伴奏~