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使用metaclass实现Singleton模式的方法
May 05 Python
Python中的下划线详解
Jun 24 Python
Django中使用locals()函数的技巧
Jul 16 Python
Python中.py文件打包成exe可执行文件详解
Mar 22 Python
Python使用文件锁实现进程间同步功能【基于fcntl模块】
Oct 16 Python
python的格式化输出(format,%)实例详解
Jun 01 Python
Python面向对象程序设计之继承与多继承用法分析
Jul 13 Python
Python引用计数操作示例
Aug 23 Python
matplotlib绘制多个子图(subplot)的方法
Dec 03 Python
在Python中用GDAL实现矢量对栅格的切割实例
Mar 11 Python
Python中文纠错的简单实现
Jul 07 Python
Python常遇到的错误和异常
Nov 02 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
百度地图API使用方法详解
2015/08/25 PHP
详解Yii2 定制表单输入字段的标签和样式
2017/01/04 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
2010/05/15 Javascript
jQuery中绑定事件的命名空间详解
2011/04/05 Javascript
IE6下opacity与JQuery的奇妙结合
2013/03/01 Javascript
javascript模拟地球旋转效果代码实例
2013/12/02 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
Bootstrap简单表单显示学习笔记
2016/11/15 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
2016/12/02 Javascript
Bootstrap弹出框modal上层的输入框不能获得焦点问题的解决方法
2016/12/13 Javascript
JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
2018/04/19 Javascript
webpack里使用jquery.mCustomScrollbar插件的方法
2018/05/30 jQuery
[01:04:06]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第一局
2016/02/26 DOTA
python小技巧之批量抓取美女图片
2014/06/06 Python
python实现一次创建多级目录的方法
2015/05/15 Python
Python中super函数的用法
2017/11/17 Python
Zookeeper接口kazoo实例解析
2018/01/22 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
2018/05/08 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
2019/01/23 Python
python实现图片插入文字
2019/11/26 Python
Python调用钉钉自定义机器人的实现
2020/01/03 Python
Tensorflow设置显存自适应,显存比例的操作
2020/02/03 Python
完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctypes的错误
2020/04/01 Python
基于python实现把json数据转换成Excel表格
2020/05/07 Python
python 将Excel转Word的示例
2021/03/02 Python
日本小田急百货官网:Odakyu
2018/07/19 全球购物
英国泽西岛植物:Jersey Plants Direct
2019/08/07 全球购物
Servlet方面面试题
2016/09/28 面试题
制药工程专业应届生求职信
2013/09/24 职场文书
应届毕业生个人自荐信范文
2013/11/30 职场文书
《富饶的西沙群岛》教学反思
2014/04/09 职场文书
建筑投标担保书
2014/05/20 职场文书
2015中学政教处工作总结
2015/07/22 职场文书
SQL Server表分区降低运维和维护成本
2022/04/08 SQL Server