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入门篇之函数
Oct 20 Python
Python内置函数之filter map reduce介绍
Nov 30 Python
Python中用altzone()方法处理时区的教程
May 22 Python
Python实现翻转数组功能示例
Jan 12 Python
简单谈谈python中的lambda表达式
Jan 19 Python
对Python中type打开文件的方式介绍
Apr 28 Python
python设定并获取socket超时时间的方法
Jan 12 Python
python可视化实现代码
Jan 15 Python
python+selenium实现QQ邮箱自动发送功能
Jan 23 Python
Python selenium根据class定位页面元素的方法
Feb 26 Python
选择python进行数据分析的理由和优势
Jun 25 Python
python manim实现排序算法动画示例
Aug 14 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检测apache mod_rewrite模块是否安装的方法
2015/03/14 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
2016/03/21 PHP
PHP使用内置函数生成图片的方法详解
2016/05/09 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
JavaScript的面向对象(二)
2006/11/09 Javascript
简易js代码实现计算器操作
2013/04/15 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
jQuery实现的自适应焦点图效果完整实例
2016/08/24 Javascript
javascript history对象详解
2017/02/09 Javascript
详解Vue.js入门环境搭建
2017/03/17 Javascript
js时间戳与日期格式之间相互转换
2017/12/11 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
Vue作用域插槽slot-scope实例代码
2018/09/05 Javascript
如何解决日期函数new Date()浏览器兼容性问题
2019/09/11 Javascript
JavaScript实现动态留言板
2020/03/16 Javascript
[00:20]TI9观赛名额抽取Ⅱ
2019/07/24 DOTA
Python实现的ini文件操作类分享
2014/11/20 Python
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
浅谈python新式类和旧式类区别
2019/04/26 Python
libreoffice python 操作word及excel文档的方法
2019/07/04 Python
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
2014/05/20 面试题
机关财务管理制度
2014/01/17 职场文书
网上卖盒饭创业计划书
2014/01/26 职场文书
学生宿舍管理制度
2014/01/30 职场文书
触摸春天教学反思
2014/02/03 职场文书
寄语十八大感言
2014/02/07 职场文书
农村党支部书记党群众路线四风问题整改措施
2014/09/26 职场文书
2014年图书馆工作总结
2014/11/25 职场文书
师德承诺书
2015/01/20 职场文书
结婚保证书(卖身契)
2015/02/26 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
新年晚会主持词开场白
2015/05/28 职场文书
《黄山奇石》教学反思
2016/02/18 职场文书
《弟子规》读后感:知廉耻、明是非、懂荣辱、辨善恶
2019/12/03 职场文书
Python循环之while无限迭代
2022/04/30 Python
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript