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


Posted in Python onJanuary 16, 2014
#! /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()
Python 相关文章推荐
python用ConfigObj读写配置文件的实现代码
Mar 04 Python
python实现多线程暴力破解登陆路由器功能代码分享
Jan 04 Python
python实现class对象转换成json/字典的方法
Mar 11 Python
tensorflow获取变量维度信息
Mar 10 Python
pandas 实现将重复表格去重,并重新转换为表格的方法
Apr 18 Python
python 移动图片到另外一个文件夹的实例
Jan 10 Python
pycharm配置pyqt5-tools开发环境的方法步骤
Feb 11 Python
Python3分析处理声音数据的例子
Aug 27 Python
Python with语句和过程抽取思想
Dec 23 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
Jan 18 Python
Python读写压缩文件的方法
Jul 30 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
Feb 20 Python
python使用urllib模块和pyquery实现阿里巴巴排名查询
Jan 16 #Python
python3.3教程之模拟百度登陆代码分享
Jan 16 #Python
python解析发往本机的数据包示例 (解析数据包)
Jan 16 #Python
python多线程扫描端口示例
Jan 16 #Python
python发送arp欺骗攻击代码分析
Jan 16 #Python
分析python服务器拒绝服务攻击代码
Jan 16 #Python
python获取豆瓣电影简介代码分享
Jan 16 #Python
You might like
法国:浪漫之都的咖啡文化
2021/03/03 咖啡文化
第十二节 类的自动加载 [12]
2006/10/09 PHP
用PHP生成静态HTML速度快类库
2007/03/18 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
2013/06/20 PHP
php实现猴子选大王问题算法实例
2015/04/20 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
2016/01/07 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
2008/10/29 Javascript
Javascript this 的一些学习总结
2012/08/31 Javascript
jquery 列表双向选择器之改进版
2013/08/09 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
JS中Date日期函数中的参数使用介绍
2014/01/02 Javascript
jQuery中scrollTop()方法用法实例
2015/01/16 Javascript
JavaScript实现Java中Map容器的方法
2016/10/09 Javascript
mac上node.js环境的安装测试
2017/07/03 Javascript
Vue组件之全局组件与局部组件的使用详解
2017/10/09 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
分享5个顶级的JavaScript Ajax组件库
2018/09/16 Javascript
微信小程序实现多选功能
2018/11/04 Javascript
Vue this.$router.push(参数)实现页面跳转操作
2020/09/09 Javascript
全面解析Vue中的$nextTick
2020/12/24 Vue.js
Python简单定义与使用字典dict的方法示例
2017/07/25 Python
python实现简单中文词频统计示例
2017/11/08 Python
一条命令解决mac版本python IDLE不能输入中文问题
2018/05/15 Python
Django实现一对多表模型的跨表查询方法
2018/12/18 Python
django 自定义过滤器的实现
2019/02/26 Python
详解python tkinter 图片插入问题
2020/09/03 Python
python 如何利用argparse解析命令行参数
2020/09/11 Python
python re模块和正则表达式
2021/03/24 Python
中国央视网签名寄语
2014/01/18 职场文书
公司新年寄语
2014/04/04 职场文书
荷叶母亲教学反思
2014/04/30 职场文书
庆祝教师节演讲稿
2014/09/03 职场文书
出纳试用期自我鉴定范文
2014/09/16 职场文书
教你利用python实现企业微信发送消息
2021/05/23 Python
Python的property属性详细讲解
2022/04/11 Python