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 相关文章推荐
使用Mixin设计模式进行Python编程的方法讲解
Jun 21 Python
Python tkinter模块中类继承的三种方式分析
Aug 08 Python
pandas object格式转float64格式的方法
Apr 10 Python
Python实现的凯撒密码算法示例
Apr 12 Python
实践Vim配置python开发环境
Jul 02 Python
对python中的six.moves模块的下载函数urlretrieve详解
Dec 19 Python
利用arcgis的python读取要素的X,Y方法
Dec 22 Python
python使用matplotlib画柱状图、散点图
Mar 18 Python
pycharm 安装JPype的教程
Aug 08 Python
python logging 重复写日志问题解决办法详解
Aug 04 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
Sep 01 Python
python 如何实现遗传算法
Sep 22 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排序算法的复习和总结
2012/02/15 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
php类中的各种拦截器用法分析
2014/11/03 PHP
用javascript获取地址栏参数
2006/12/22 Javascript
解析使用JS 清空File控件的路径值
2013/07/08 Javascript
window.print打印指定div实例代码
2013/12/13 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
Angular 路由route实例代码
2016/07/12 Javascript
Angular2搜索和重置按钮过场动画
2017/05/24 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
2017/07/09 Javascript
基于AngularJS的拖拽文件上传的实例代码
2017/07/15 Javascript
详解利用 Vue.js 实现前后端分离的RBAC角色权限管理
2017/09/15 Javascript
JavaScript数组去重的多种方法(四种)
2017/09/19 Javascript
微信小程序富文本渲染引擎的详解
2017/09/30 Javascript
node.js中fs文件系统目录操作与文件信息操作
2018/02/24 Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
2018/08/22 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
2019/01/24 Javascript
jQuery实现的点击显示隐藏下拉菜单功能完整示例
2019/05/17 jQuery
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
JS面向对象编程——ES6 中class的继承用法详解
2020/03/03 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
关于JavaScript中异步/等待的用法与理解
2020/11/18 Javascript
python里对list中的整数求平均并排序
2014/09/12 Python
Django使用消息提示简单的弹出个对话框实例
2019/11/15 Python
pytorch实现CNN卷积神经网络
2020/02/19 Python
利用Python实现Json序列化库的方法步骤
2020/09/09 Python
全球在线商店:BerryLook
2019/04/14 全球购物
Elizabeth Gage官网:英国最好的珠宝设计之一
2020/09/26 全球购物
花店创业计划书范文
2014/02/07 职场文书
青年志愿者活动总结
2014/04/26 职场文书
《大禹治水》教学反思
2014/04/27 职场文书
青年志愿者先进事迹
2014/05/06 职场文书
投资入股合作协议书
2014/10/28 职场文书
学生检讨书如何写
2014/10/30 职场文书
个人自我鉴定怎么写?
2019/07/01 职场文书
Python insert() / append() 用法 Leetcode实战演示
2021/03/31 Python