使用gevent多线程下载豆瓣音乐,gevent豆瓣,使用gevent比pyt
使用gevent多线程下载豆瓣音乐,gevent豆瓣,使用gevent比pyt
使用gevent比python原生的threading快了很多很多,下载速度甚至超过了迅雷。
#! /usr/bin/python2.7# -- coding:utf-8 --#可以参考我的博客:http://www.cnblogs.com/descusr import urllib,urllib2,gevent,re from gevent import monkey monkey.patch_all() def worker(reg, url): response=urllib.urlopen(url) text=response.read() groups=re.finditer(reg, text) m_arr = [] for g in groups: name=g.group(1).strip() + ".mp3" path=g.group(2).replace('\\\\', '') m_arr.append((name, path)) return m_arr def grun(path, name): urllib.urlretrieve(path, name) if __name__ == '__main__': #匹配音乐url reg=re.compile('{"name":"(.+?)".+?"rawUrl":"(.+?)",.+?}', re.I) musicArray = worker(reg, "http://site.douban.com/huazhou/") jobs = [] for (name, path) in musicArray: jobs.append(gevent.spawn(grun, path, name)) gevent.joinall(jobs)#该片段来自于http://byrx.net
相关内容
- python通过shutil实现快速文件拷贝,pythonshutil,from shutil
- python基数排序算法,python基数排序,from random
- python 读写excel类,python读写excel,# coding=UTF
- libtorrent中从magnet link生成torrent,libtorrentmagnet,import li
- 平时会用到的python代码,用到python代码,今天因为某个原
- 通过python post提交数据的代码演示,pythonpost,# -*- codin
- python编写的简单的猜数字游戏代码,python编写猜数字
- PyQt4模块, 使用Qt Designer 设计界面ui文件转换成py文件,
- S先生与P先生谜题,谜题,http://baike
- python搜索指定目录的代码演示,python演示,#-----------
评论关闭