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和MD5实现网站挂马检测程序
Mar 13 Python
Python中super关键字用法实例分析
May 28 Python
用Python的Django框架来制作一个RSS阅读器
Jul 22 Python
100行python代码实现跳一跳辅助程序
Jan 15 Python
python使用zip将list转为json的方法
Dec 31 Python
Python中使用__new__实现单例模式并解析
Jun 25 Python
django 中QuerySet特性功能详解
Jul 25 Python
python实现把两个二维array叠加成三维array示例
Nov 29 Python
Python for循环搭配else常见问题解决
Feb 11 Python
python使用turtle库绘制奥运五环
Feb 24 Python
解决更改AUTH_USER_MODEL后出现的问题
May 14 Python
python实现学生通讯录管理系统
Feb 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
PHP获取用户的浏览器与操作系统信息的代码
2012/09/04 PHP
解析PHP生成静态html文件的三种方法
2013/06/18 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
2016/09/11 PHP
js+css在交互上的应用
2010/07/18 Javascript
javascript Window及document对象详细整理
2011/01/12 Javascript
最好用的省市二级联动 原生js实现你值得拥有
2013/09/22 Javascript
jquery 无限级下拉菜单的简单实现代码
2014/02/21 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
JavaScript学习笔记之数组的增、删、改、查
2016/03/23 Javascript
JavaScript手机振动API
2016/06/11 Javascript
Vue中自定义全局组件的实现方法
2017/12/08 Javascript
vue集成chart.js的实现方法
2019/08/20 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
python去除所有html标签的方法
2015/05/05 Python
初步讲解Python中的元组概念
2015/05/21 Python
Python中字典创建、遍历、添加等实用操作技巧合集
2015/06/02 Python
在Python程序员面试中被问的最多的10道题
2017/12/05 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
2018/12/24 Python
Django stark组件使用及原理详解
2019/08/22 Python
django框架cookie和session用法实例详解
2019/12/10 Python
Python PyInstaller库基本使用方法分析
2019/12/12 Python
new_zeros() pytorch版本的转换方式
2020/02/18 Python
Windows系统下pycharm中的pip换源
2020/02/23 Python
Pycharm自动添加文件头注释和函数注释参数的方法
2020/10/23 Python
html5指南-2.如何操作document metadata
2013/01/07 HTML / CSS
国际知名设计师时装商店:Coggles
2016/09/05 全球购物
Otiumberg官网:英国半精致珠宝品牌
2021/01/16 全球购物
毕业生造价工程师求职信
2013/10/17 职场文书
2014年教师节演讲稿
2014/09/03 职场文书
党员个人对照检查材料范文
2014/09/24 职场文书
2014年行政执法工作总结
2014/12/11 职场文书
优秀班集体申报材料
2014/12/25 职场文书
荒岛余生观后感
2015/06/09 职场文书
mysql对于模糊查询like的一些汇总
2021/05/09 MySQL
插件导致ECharts被全量引入的坑示例解析
2022/09/23 Javascript