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 相关文章推荐
12步教你理解Python装饰器
Feb 25 Python
Python合并字典键值并去除重复元素的实例
Dec 18 Python
利用python将图片转换成excel文档格式
Dec 30 Python
python编写弹球游戏的实现代码
Mar 12 Python
Python使用progressbar模块实现的显示进度条功能
May 31 Python
3分钟学会一个Python小技巧
Nov 23 Python
Python字符串中添加、插入特定字符的方法
Sep 10 Python
python FTP批量下载/删除/上传实例
Dec 22 Python
Python通过两个dataframe用for循环求笛卡尔积
Apr 29 Python
新手常见Python错误及异常解决处理方案
Jun 18 Python
Django配置Bootstrap, js实现过程详解
Oct 13 Python
Python绘图实现台风路径可视化代码实例
Oct 23 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
php 读取shell管道传输过来的内容
2010/03/01 PHP
ThinkPHP实现将本地文件打包成zip下载
2014/06/26 PHP
php利用imagemagick实现复古老照片效果实例
2017/02/16 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
2018/10/25 PHP
use jscript List Installed Software
2007/06/11 Javascript
JavaScript 操作键盘的Enter事件(键盘任何事件),兼容多浏览器
2010/10/11 Javascript
仿猪八戒网左下角的文字滚动效果
2011/10/28 Javascript
JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型
2012/10/11 Javascript
JavaScript调试工具汇总
2014/12/23 Javascript
jquery中animate的stop()方法作用实例分析
2015/01/30 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
详解JavaScript的变量和数据类型
2015/11/27 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
2016/10/28 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
2016/12/31 Javascript
学习使用Bootstrap输入框、导航、分页等常用组件
2017/05/11 Javascript
详解a标签添加onclick事件的几种方式
2019/03/29 Javascript
详解vue-cli3 中跨域解决方案
2019/04/10 Javascript
微信小程序常用的3种提示弹窗实现详解
2019/09/19 Javascript
JS实现斐波那契数列的五种方式(小结)
2020/09/09 Javascript
[43:47]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第一局
2016/03/05 DOTA
[01:04:05]VG vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python验证企业工商注册码
2015/10/25 Python
完美解决Python2操作中文名文件乱码的问题
2017/01/04 Python
Python实现屏幕截图的两种方式
2018/02/05 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
mac下pycharm设置python版本的图文教程
2018/06/13 Python
python 找出list中最大或者最小几个数的索引方法
2018/10/30 Python
css3 2D图片转动样式可以扩充到Js当中
2014/04/29 HTML / CSS
英国排名第一的冲浪店:Ann’s Cottage
2020/06/21 全球购物
公司薪酬管理制度
2014/01/31 职场文书
服务承诺书
2015/01/19 职场文书
小学班长竞选稿
2015/11/20 职场文书
2016关于读书活动的心得体会
2016/01/14 职场文书
2016年小学植树节活动总结
2016/03/16 职场文书
详解Python类和对象内容
2021/06/22 Python