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发送伪造的arp请求
Jan 09 Python
Python对象转JSON字符串的方法
Apr 27 Python
基于Python中单例模式的几种实现方式及优化详解
Jan 09 Python
基于python OpenCV实现动态人脸检测
May 25 Python
详解Python下ftp上传文件linux服务器
Jun 21 Python
pandas 透视表中文字段排序方法
Nov 16 Python
django+mysql的使用示例
Nov 23 Python
set在python里的含义和用法
Jun 24 Python
Python 保持登录状态进行接口测试的方法示例
Aug 06 Python
Python爬虫 urllib2的使用方法详解
Sep 23 Python
PyTorch的torch.cat用法
Jun 28 Python
Python自然语言处理之切分算法详解
Apr 25 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
提问的智慧(2)
2006/10/09 PHP
php获取当前时间的毫秒数的方法
2014/01/26 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
2014/06/19 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
php中mkdir函数用法实例分析
2014/11/15 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
基于prototype扩展的JavaScript常用函数库
2010/11/30 Javascript
深入了解Node.js中的一些特性
2014/09/25 Javascript
Css3制作变形与动画效果
2015/07/24 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
深入学习Bootstrap表单
2016/12/13 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
2016/12/14 Javascript
原生js获取浏览器窗口及元素宽高常用方法集合
2017/01/18 Javascript
解决iview多表头动态更改列元素发生的错误的方法
2018/11/02 Javascript
微信小程序实现复选框效果
2018/12/28 Javascript
深入理解vue中的slot与slot-scope
2019/04/22 Javascript
eslint 的三大通用规则详解
2019/05/16 Javascript
微信小程序登陆注册功能的实现代码
2019/12/10 Javascript
js实现简易计算器小功能
2020/11/18 Javascript
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
2016/11/19 Python
Python批量查询关键词微信指数实例方法
2019/06/27 Python
django多种支付、并发订单处理实例代码
2019/12/13 Python
使用python实现哈希表、字典、集合操作
2019/12/22 Python
纯CSS实现设置半个字符的样式
2014/07/03 HTML / CSS
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
英国著名的药妆网站:Escentual
2016/07/29 全球购物
英国女性时尚鞋类的潮流制造者:Koi Footwear
2018/10/19 全球购物
北欧最好的童装网上商店:Babyshop
2019/09/15 全球购物
潘多拉珠宝美国官方网站:Pandora US
2020/06/18 全球购物
.NET remoting中对象激活的两种方式
2015/06/08 面试题
法律专业个人实习自我鉴定
2013/09/23 职场文书
考博专家推荐信模板
2013/12/02 职场文书
业务部主管岗位职责
2014/01/29 职场文书
文明家庭事迹材料
2014/12/20 职场文书
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle