从百度MP3中批量下载某歌手的歌,百度mp3歌手,download_mp3
从百度MP3中批量下载某歌手的歌,百度mp3歌手,download_mp3
download_mp3.py
#!/usr/bin/python# -*- coding: utf-8 -*-################################百度中批量下载某歌手的歌###############################import re,urllib,osdef download(author_name=u"陈奕迅",filepath="F:/downloadmusic/"): """百度中批量下载某歌手的歌url为陈奕迅的歌filepath为保存的文件夹""" url="http://mp3.baidu.com/songlist/"+urllib.quote(author_name.encode('gbk'))+".html" if not os.path.exists(filepath): os.mkdir(filepath) res=urllib.urlopen(url) content=res.read() res.close() content_gbk=content.decode('gbk') td=re.compile('\)">.*</a><div class="auth">') names=re.findall(td,content_gbk) i=0 for name in names: try: song_name=name[3:-22] print(song_name) song_url = "http://box.zhangmen.baidu.com/x?op=12&count=1&mtype=1&title=" song_url=song_url+urllib.quote(song_name.encode('gbk')) song_url=song_url+'$$'+urllib.quote(author_name.encode('gbk'))+'$$$$&url=&listenreelect=0&.r=0.1696378872729838' #print(song_url) xmlfile=urllib.urlopen(song_url) xml_content=xmlfile.read() xml_content=xml_content.decode('gbk') url1 = re.findall('<encode>.*?CDATA\[(.*?)\]].*?</encode>',xml_content) url2 = re.findall('<decode>.*?CDATA\[(.*?)\]].*?</decode>',xml_content) url=url1[0][:url1[0].rindex('/')+1] + url2[0] urllib.urlretrieve(url,filepath+song_name+'.mp3') except: passif __name__=='__main__': download() #os.system("pause")
相关内容
- python之POP详解,pythonpop,[Python]代码#!
- Basic Blog,basicblog,main.pyimpor
- 使用Gmail发送邮件的Python脚本,gmailpython,[Python]代码
- [娱乐] 画菱形,娱乐画菱形,[Python]代码 w
- User signup (HTML and Python),signuppython,[Python]代码#!
- 基于python的web表单提交方法,pythonweb表单,[Python]代码
- rsync同步管理工具,rsync同步工具,[Python]代码#/
- 有一位农场主的遗嘱:第1个儿子分100美元和剩下财产的
- django 获取用户输入,django获取用户,[Python]代码#u
- 一些两位数加上18,它们的个、十位恰好位置对调了,
评论关闭