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的Treq on Twisted来进行HTTP压力测试
Apr 16 Python
Python NumPy库安装使用笔记
May 18 Python
使用Python的urllib和urllib2模块制作爬虫的实例教程
Jan 20 Python
利用Python爬虫给孩子起个好名字
Feb 14 Python
关于Django显示时间你应该知道的一些问题
Dec 25 Python
Python中XlsxWriter模块简介与用法分析
Apr 24 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
Jan 08 Python
Python基于WordCloud制作词云图
Nov 29 Python
使用python模拟高斯分布例子
Dec 09 Python
Python: 传递列表副本方式
Dec 19 Python
django有哪些好处和优点
Sep 01 Python
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
Oct 16 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脚本代码
2011/02/19 PHP
深入理解用mysql_fetch_row()以数组的形式返回查询结果
2013/06/05 PHP
PHP cdata 处理(详细介绍)
2013/07/05 PHP
Laravel框架路由和控制器的绑定操作方法
2018/06/12 PHP
广告显示判断
2006/08/31 Javascript
js获取光标位置和设置文本框光标位置示例代码
2014/01/09 Javascript
js利用正则表达式检验输入内容是否为网址
2016/07/05 Javascript
vue2 中如何实现动态表单增删改查实例
2017/06/09 Javascript
对mac下nodejs 更新到最新版本的最新方法(推荐)
2018/05/17 NodeJs
Vuerouter的beforeEach与afterEach钩子函数的区别
2018/12/26 Javascript
Vue中props的详解
2019/05/16 Javascript
如何手写简易的 Vue Router
2020/10/10 Javascript
Python合并多个装饰器小技巧
2015/04/28 Python
python 回调函数和回调方法的实现分析
2016/03/23 Python
python 字典(dict)按键和值排序
2016/06/28 Python
Python利用递归和walk()遍历目录文件的方法示例
2017/07/14 Python
python实现csv格式文件转为asc格式文件的方法
2018/03/23 Python
python/sympy求解矩阵方程的方法
2018/11/08 Python
Python WEB应用部署的实现方法
2019/01/02 Python
使用Filter过滤python中的日志输出的实现方法
2019/07/17 Python
关于python3中setup.py小概念解析
2019/08/22 Python
Python如何批量生成和调用变量
2020/11/21 Python
python安装sklearn模块的方法详解
2020/11/28 Python
英国天然有机美容护肤品:Neal’s Yard Remedies
2018/05/05 全球购物
英国创新设计文具、卡片和礼品包装网站:Paperchase
2018/07/14 全球购物
是否有自动比较结构的方法
2015/06/03 面试题
优秀应届生推荐信
2013/11/09 职场文书
记者岗位职责
2014/01/06 职场文书
中医临床专业自我鉴定范文
2014/01/15 职场文书
庆祝国庆节演讲稿2014
2014/09/19 职场文书
交通事故赔偿协议书
2014/10/16 职场文书
办公室务虚会发言材料
2014/10/20 职场文书
业务内勤岗位职责
2015/04/13 职场文书
五一晚会主持词
2015/07/01 职场文书
Python数据分析入门之教你怎么搭建环境
2021/05/13 Python