Python下载百度新歌100的代码
2011-07-09 23:54
645 查看
#!/usr/bin/python # -*- coding: utf-8 -*- # Copyright (c) 2006 UbuntuChina <http://www.ubuntu.org.cn> # License: GPLv2 # Author: oneleaf <oneleaf AT gmail.com> import httplib import re import urllib import os import locale def getdownurl(url): urllist=[] conn = httplib.HTTPConnection('mp3.baidu.com') conn.request("GET",url) response = conn.getresponse() html=response.read() conn.close() expression='http://220.181.27.54/m(.*)</a>' listSentence = re.findall(expression, html) lineno=0 while lineno<len(listSentence): mp3url=re.search('title=(.*)onclick',listSentence[lineno]) if mp3url: mp3url=mp3url.group(0) mp3url=re.search('http(\S*)',mp3url) if mp3url: mp3url=mp3url.group(0) try: mp3url=mp3url.decode('gbk') except:pass urllist.append(mp3url) lineno+=2 return urllist def downmp3(url,author,name,filelist): filename=author+"-"+name; for i in filelist: name=unicode(i,locale.getpreferredencoding()) if name.find(filename) == 0: print u"文件已经下载,忽略。" return 1 urllists=getdownurl(url) for i in urllists: print u"正在连接",i ext=i[-4:] try: urlopen = urllib.URLopener() fp=urlopen.open(i) data = fp.read() fp.close() filename=filename+ext; file=open(filename,'w+b') file.write(data) file.close() print u"下载成功!" return 1 except: continue return 0 if __name__ == "__main__": conn = httplib.HTTPConnection('list.mp3.baidu.com') conn.request("GET",'/list/newhits.html?id=1') response = conn.getresponse() html=response.read().decode('gbk') conn.close() expression='<a href="http://mp3.baidu.com/m(.*)</a>' listSentence = re.findall(expression, html) lineno=0 while lineno<len(listSentence): url=re.search('(.*)target',listSentence[lineno]) url='/m'+url.group(0)[:-8] name=re.search('blank>(.*)',listSentence[lineno]) name=name.group(0)[6:] author=re.search('blank>(.*)',listSentence[lineno+1]) author=author.group(0)[6:] print u"开始下载",author,name filelist=os.listdir('.'); if downmp3(url,author,name,filelist)==0: print u"下载",author,name,u'失败!' lineno+=2
相关文章推荐
- [转]Python下载百度新歌100的代码
- python3抓取异步百度瀑布流动态图片(二)get、json下载代码讲解
- Python多线程下载文件实例代码
- python下载文件记录黑名单的实现代码
- 三种Python下载url并保存文件的代码
- python 与机器学习实战(何宇健)代码下载
- Python实现多线程下载文件的代码实例
- python之百度首页搜索设置的鼠标捕获功能代码(2017年新款百度首页)
- Python实现爬虫从网络上下载文档的实例代码
- 百度音乐新歌榜100曲自动下载,并改名,python2.7
- 火星坐标、百度坐标、WGS84坐标转换代码(JS、python版)
- python3下载远程代码并执行
- python在多玩图片上下载妹子图的实现代码
- Python学习--下载图片--下载百度的固定页面图片
- 通过python下载FTP上的文件夹的实现代码
- 百度ocr开放api调用python代码
- (原)下载pubFig的python代码