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中is和id的用法
Apr 03 Python
在Python中使用__slots__方法的详细教程
Apr 28 Python
Python通过OpenCV的findContours获取轮廓并切割实例
Jan 05 Python
Django学习笔记之ORM基础教程
Mar 27 Python
python 提取tuple类型值中json格式的key值方法
Dec 31 Python
python使用Plotly绘图工具绘制柱状图
Apr 01 Python
python的mysql数据库建立表与插入数据操作示例
Sep 30 Python
python 实现方阵的对角线遍历示例
Nov 29 Python
解决pytorch报错:AssertionError: Invalid device id的问题
Jan 10 Python
Python基于Tensor FLow的图像处理操作详解
Jan 15 Python
5行Python代码实现图像分割的步骤详解
May 25 Python
DRF使用simple JWT身份验证的实现
Jan 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 获取页面中指定内容的实现类
2014/01/23 PHP
javascript web对话框与弹出窗口
2009/02/22 Javascript
js最简单的拖拽效果实现代码
2010/09/24 Javascript
js对table的td进行相同内容合并示例详解
2013/12/27 Javascript
jQuery验证插件validation使用指南
2015/04/21 Javascript
js实现鼠标移到链接文字弹出一个提示层的方法
2015/05/11 Javascript
让图片跳跃起来  javascript图片轮播特效
2016/02/16 Javascript
JS实现表单验证功能(验证手机号是否存在,验证码倒计时)
2016/10/11 Javascript
JavaScript面向对象分层思维全面解析
2016/11/22 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
2016/12/14 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
2016/12/26 Javascript
详解vue-router 路由元信息
2017/09/13 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
Vue中$refs的用法详解
2018/06/24 Javascript
微信小程序实现发红包功能
2018/07/11 Javascript
使用JavaScript获取Django模板指定键值数据
2020/05/27 Javascript
python解析html开发库pyquery使用方法
2014/02/07 Python
Pycharm学习教程(3) 代码运行调试
2017/05/03 Python
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
利用aardio给python编写图形界面
2017/08/21 Python
Python面向对象进阶学习
2019/05/21 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
2019/10/17 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
BookOutlet加拿大:在网上书店购买廉价折扣图书和小说
2018/10/05 全球购物
用C#语言写出与SQLSERVER访问时的具体过程
2013/04/16 面试题
2014年道德讲堂实施方案
2014/03/05 职场文书
学习十八大坚定理想信念心得体会
2014/03/11 职场文书
募捐倡议书
2014/04/14 职场文书
歌颂祖国演讲稿
2014/05/04 职场文书
乡镇务虚会发言材料
2014/10/20 职场文书
2015年校长新年寄语
2014/12/08 职场文书
优秀班主任申报材料
2014/12/16 职场文书
2015年学校关工委工作总结
2015/04/03 职场文书
毕业晚宴祝酒词
2015/08/11 职场文书
高一英语教学反思
2016/03/03 职场文书
React Native项目框架搭建的一些心得体会
2021/05/28 Javascript