python基于urllib实现按照百度音乐分类下载mp3的方法

yipeiwu_com6年前Python基础

本文实例讲述了python基于urllib实现按照百度音乐分类下载mp3的方法。分享给大家供大家参考。具体实现方法如下:

#!/usr/bin/env python
#-*- coding: utf-8 -*-
import urllib
import re
baseurl = "http://music.baidu.com"
url = "http://music.baidu.com/search/tag?key=经典流行"
html = urllib.urlopen(url).read()
uri = re.findall(r'/song/\d+', html, re.M)
lst = []
for i in uri:
    link = baseurl+i+"/download"
    lst.insert(0, link)
for k in lst:
    res = urllib.urlopen(k).read()
    down = re.search('http://[^ ]*xcode.[a-z0-9]*' , res, re.M).group()
    s1 = re.search('title=".*',res, re.M).group()
    s2 = re.search('>.*<.a', s1, re.M).group()
    s3 = s2[1:-3]
    urllib.urlretrieve(down, s3+".mp3")

希望本文所述对大家的Python程序设计有所帮助。

相关文章

Python判断两个list是否是父子集关系的实例

list1 和list2 两个list , 想要得到list1是不是包含 list2 (是不是其子集 ) a = [1,2] b = [1,2,3] c = [0, 1]...

Python的Flask框架中Flask-Admin库的简单入门指引

Python的Flask框架中Flask-Admin库的简单入门指引

 Flask-Admin是一个功能齐全、简单易用的Flask扩展,让你可以为Flask应用程序增加管理界面。它受django-admin包的影响,但用这样一种方式实现,开发者拥...

Python引用类型和值类型的区别与使用解析

Python数据类型分为值类型和引用类型, 下面我们看下它们的区别: 值类型: 对象本身不允许修改,数值的修改实际上是让变量指向了一个新的对象 包含:字符串、元组、数值,本身不允许被修改...

Python内置random模块生成随机数的方法

本文我们详细地介绍下两个模块关于生成随机序列的其他使用方法。 随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等。Pytho...

python 简单备份文件脚本v1.0的实例

整体思路 将要备份的目录列为一个列表,通过执行系统命令,进行压缩、备份。 这样关键在于构造命令并使用 os.system( )来执行,一开始使用zip 命令始终没有成功,后来发现Wind...