加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 19:44:22 所属栏目:Python 来源:网络整理
导读:复制代码 代码如下: #! /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__(

复制代码 代码如下:

#! /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()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读