微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python使用urllib模块开发的多线程豆瓣小站mp3下载器


#! /usr/bin/python2.7
# -- coding:utf-8 --

import os,urllib,urllib2,thread,threading
import re

#匹配音乐url
reg=re.compile('{"name":"(.+?)".+?"rawUrl":"(.+?)",.+?}',re.I)


class downloader(threading.Thread):
        def __init__(self,url,name):
                threading.Thread.__init__(self)
                self.url=url
                self.name=name

        def run(self):
                print 'downloading from %s' % self.url
                urllib.urlretrieve(self.url,self.name)

threads=[]

#多线程下载文件
def main(url):
        response=urllib.urlopen(url)
        text=response.read()
        groups=re.finditer(reg,text)
        for g in groups:
                name=g.group(1).strip() + ".mp3"
                path=g.group(2).replace('\\','')
                t=downloader(path,name)
                threads.append(t)
                t.start()

                                                                                                                                                     
if __name__ == '__main__':
        main("http://site.douban.com/huazhou/")
        for t in threads:
                t.join()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐