代码片段(1)
[代码] 其中有参考其他大牛的代码,请原理本菜鸟的抄袭
01 | #!/usr/bin/python |
02 | #coding:utf8 |
03 |
04 | import re,urllib |
05 |
06 | #url='http://music.baidu.com' |
07 | url = 'http://music.baidu.com/top/new' |
08 | openurl = urllib.URLopener() |
09 | headers = ( 'User-Agent' , 'Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1' ) |
10 | openurl.addheaders = [headers] |
11 | data = openurl. open (url).read() |
12 | data = data.decode( 'utf8' ) |
13 | music_sid = re.findall(re. compile (r "'sid': '(.*)', 'sname'" ),data) |
14 | music_sname = re.findall(re. compile (r "'sname': '(.*)', 'author'" ),data) |
15 | music_author = re.findall(re. compile (r "'author': '(.*)' }" ),data) |
16 |
17 | file = open ( 'downurl.txt' , 'w' ) |
18 | for i in range ( len (music_sid)): |
19 | # file.write(sid[i]+name[i]+'\n') |
20 | # print music_sid[i] + ' ' + music_sname[i] + '-' + music_author[i] |
21 | print str (i) + ': ' + music_sname[i] + '-' + music_author[i] |
22 | da = openurl. open ( 'http://music.baidu.com/song/%s/download' % str (music_sid[i])).read() #sid改名,歌曲下载地址也改名 |
23 | downurl = re.findall(re. compile (r 'downlink="/data/music/file\?link=(.*)" type' ),da) |
24 | file .write(downurl[ 0 ] + '\n' ) |
25 | print '%s music file download Ing ........................' % music_sname[i] |
26 | urllib.urlretrieve(downurl[ 0 ],music_sname[i] + '-' + music_author[i] + '.mp3' ) |
27 | print '-' * 50 |
28 | file .close() |