使用gevent多线程下载豆瓣音乐
感觉自己写的gevent下载音乐比迅雷快很多,话不多说,直接上代码。
1 # ! /usr/bin/python2.7
2 # -- coding:utf-8 --
3
4 import urllib,urllib2,gevent,re
5 from gevent import monkey
6
7
8 monkey.patch_all()
9
10 def worker(url):
11 response= urllib.urlopen(url)
12 text= response.read()
13 groups= re.finditer(reg, text)
14 m_arr = []
15 for g in groups:
16 name=g.group(1).strip() + " .mp3 "
17 path=g.group(2).replace( ' \\ ' , '' )
18 m_arr.append((name, path))
19 return m_arr
20
21 def grun(path, name):
22 urllib.urlretrieve(path, name)
23
24 if __name__ == ' __main__ ' :
25 # 匹配音乐url
26 reg=re测试数据pile( ' {"name":"(.+?)".+?"rawUrl":"(.+?)",.+?} ' , re.I)
27 musicArray = worker( " http://site.douban测试数据/huazhou/ " )
28 jobs = []
29 for (name, path) in musicArray:
30 jobs.append(gevent.spawn(grun, path, name))
31 gevent.joinall(jobs)
python,go,redis,mongodb,.net,C#,F#,服务器架构
标签: python gevent 下载音乐 多线程
作者: Leo_wl
出处: http://HdhCmsTestcnblogs测试数据/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息查看更多关于使用gevent多线程下载豆瓣音乐的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did47559