python实现千千音乐mp3下载

article/2025/9/14 6:13:07

文章来源:https://www.bobobk.com/216.html

进入千千音乐主页面,选择周杰伦的音乐告白气球,发现竟然是2016年的音乐试听都木有,悲伤。那么有没有办法可以获取到mp3文件呢?答案是肯定的。音乐下载可运行程序可在文末获取。
说干就干,打开榜单,选择新歌一首可以试听的,第一首生僻字就可以听。
bangdan

1.分析接口信息

打开开发者工具,这种音乐文件肯定是通过api提交的,在毛毛多的请求中发现可以获取音乐文件的请求,看图
net
查看请求详细信息
detail
参数songid在当前url地址http://music.taihe.com/song/611238837里面可以找到,简单,from应该是web或者app之类的,format定义返回数据形式不用改,method不用改,_参数timestamp 13位时间戳,callback是返回数据的json数据的前面的名字,其中下划线后面的1546915161467为13位的timestamp 时间戳,前面的17200943498528136486就不知道是啥意思了,我们先不改变不知道的内容,试试知道含义的内容看看能否获取到信息
python3代码

import requests
import time
apiurl= "http://musicapi.taihe.com/v1/restserver/ting"
callback = "jQuery17200943498528136486_"+str(round(time.time()*1000))
hua = str(round(time.time()*1000))
params = {"method"="baidu.ting.song.playAAC","format":"jsonp","songid":"611238837","from":"web","callback":callback,"_":hua}
text = requests.get(apiurl,params=params).text
text

在这里插入图片描述
发现可以获取到结果,那么接下来就是批量下载下来听了。

2.批量下载音乐到本地

由于上面的例子返回的是json格式的文本,那么只需要使用json解析json文本获取mp3文件使用requests下载就可以了。上代码

import requests
import time
import re,jsondef get_song_list():text = requests.get("http://music.taihe.com").textsongid = re.findall(r'href="/song/(\d+)"',text)return songid
def get_mp3_address_and_download(songid): apiurl= "http://musicapi.taihe.com/v1/restserver/ting" callback = "jQuery17200943498528136486_"+str(round(time.time()*1000)) hua = str(round(time.time()*1000)) params = {"method":"baidu.ting.song.playAAC","format":"jsonp","songid":songid,"from":"web","callback":callback,"_":hua} text =  json.loads(requests.get(apiurl,params=params).text.split(callback)[1][1:-2])song_address = text["bitrate"]["file_link"]mp3w = open(songid+".mp3",'wb')mp3w.write(requests.get(song_address).content)mp3w.close()
def main():try:for songid in get_song_list():get_mp3_address_and_download(songid)except:print("network error")

这下就完全下载了千千音乐首页的mp3了
download

3.搜索并下载音乐到本地

#!env python
import requests
import re,json,time,sys
def helpmessage():msg = r'''/\          /\          /\          /\/\//\\/\    /\//\\/\    /\//\\/\    /\//\\/\/\//\\\///\\/\//\\\///\\/\//\\\///\\/\//\\\///\\/\
//\\\//\/\\///\\\//\/\\///\\\//\/\\///\\\//\/\\///\\
\\//\/  本程序由 春江暮客             \/\\//\/      发布在www.bobobk.com 上             \//\     程序打开后会打开网站           /\
//\\    大家不要急着关闭                //\\
\\//    作者:春江暮客                   \\//\/     用途:音乐下载                    \//\     用法看程序运行时界面           /\
//\\    如有任何疑问请在                //\\
\\//    博客页面留言或者发邮件到    \\//\/     2180614215@qq.com                        \//\                                              /\
//\\/\                                        /\//\\
\\///\\/\//\\\///\\/\//\\\///\\/\//\\\///\\/\//\\\//\/\\///\\\//\/\\///\\\//\/\\///\\\//\/\\///\\\//\/\/\\//\/    \/\\//\/    \/\\//\/    \/\\//\/\/          \/          \/          \/
'''print(msg)def get_mp3_address_and_download(songid,songname):apiurl= "http://musicapi.taihe.com/v1/restserver/ting"callback = "jQuery17200943498528136486_"+str(round(time.time()*1000))hua = str(round(time.time()*1000))params = {"method":"baidu.ting.song.playAAC","format":"jsonp","songid":songid,"from":"web","callback":callback,"_":hua}text =  json.loads(requests.get(apiurl,params=params).text.split(callback)[1][1:-2])song_address = text["bitrate"]["file_link"]mp3w = open(songname+".mp3",'wb')mp3w.write(requests.get(song_address).content)mp3w.close()
def search_music(keyword):if keyword in ["exit",u"退出"]:print(u"你选择了退出当前程序")sys.exit(0)text = requests.get("http://music.taihe.com/search?key=%s" % keyword).content.decode("utf8")songlist = re.findall(r'href="/song/(\d+)".*?data-songdata.*?title="(.+?)"',text)return songlistdef main():song = input(u"请输入想要下载的音乐名称: ").strip()songlist = search_music(song)for i in range(len(songlist)):print("%d:  %s" % (i+1,songlist[i][1]))songid = input(u'请选择想要下载的歌曲前面的数字:')get_mp3_address_and_download(songlist[int(songid)-1][0],song)print(u"-------下载当前歌曲完成---------")print(u"退出请输入'exit'或者'退出'")
if __name__=='__main__':helpmessage()while True:
#        main()try:main()except:print(u"5秒后关闭程序")time.sleep(5)sys.exit(0)

然后使用pyinstaller打包脚本成exe文件,命令

pyinstaller --onefile download_music.py 

总结

这里我们使用python的requests模块获取了千千音乐的首页音乐列表并下载到了本地,这种方式可以突破网页的限制实现vip音乐或者版权限制的mp3文件下载,为了方便大家调用下载,exe文件已经使用zip压缩。

音乐搜索下载可运行文件下载地址:
down_music.zip


http://chatgpt.dhexx.cn/article/Ma371EKD.shtml

相关文章

一个简单的音乐网站项目

最近闲来无事,就用IDEA编写了一个简单的音乐网站,此网站具有音乐的试听,下载,收藏功能,并且点击收藏时,可以根据用户收藏的音乐信息,进行判定,推荐相类似的歌曲,而且&…

【免费】如何轻松的从音乐网站下载自己喜欢的mp3音乐?

如何轻松的从音乐网站下载自己喜欢的mp3音乐? 一般人我不告诉他,哈哈 首先,拿一个不知名的音乐网站开刀——九酷音乐(http://www.9ku.com/)。 打开官网首页: 找一首自己喜欢的音乐,比如少年&…

从虾米音乐缓存中下载音乐

浏览器:谷歌 听歌网站:虾米音乐 搜索自己想听的歌,点进去,先不开始听 右键打开检查---->NETWORK 搜索mp3文件,此时没有MP3文件 开始播放音乐,出现一条路径,复制该路径,用浏览器…

JYmusic音乐网站管理系统源码

介绍: JYmusic是一款开源的跨平台音乐管理系统,基于php框架tninkphp开发,稳定、易于扩展、超强大负载能力,完全可以满足音乐、DJ、音乐分享、原创音乐、音乐资讯站等使用。 环境要求: php 版本必须 5.4 或更高 ,MySQ…

springboot+vue在线音乐网站

项目编号:BS-PT-049 项目说明: 本系统基于Springboot和Vue实现的前后端分离的一个在线音乐网站系统,系统功能完整,页面简洁大方,是一个非常优秀的JAVA系统,比较适合做毕业设计使用。 系统的主要功能如下…

python实现某网站的音乐下载

写在前面:首先,理论上讲,如果歌曲可以在网页上播放,那么一定有网址(source src)保存着歌曲的源文件。那么利用火狐(或者谷歌)浏览器的F12功能,就可以快速提取出该source src,进而完成…

新版音乐网站源码

介绍: 我们需要的东西有:主机、域名 1.获得一个虚拟主机 2.注册一个二级域名 3.解析二级域名并在主机绑定域名 3.主机文件管理器上传源码并解压 4.访问绑定域名即可搭建完成 网盘下载地址: https://zijiewangpan.com/Wqg4Bp53v4d 图片&…

免费搭建一个云音乐网站

如何免费搭建一个云音乐网站 搭建一个云音乐网站,有这些东西是必需的: 1:网站源码 2:服务器 3:域名 云音乐源码在这:https://www.lanzous.com/i5i1fwb 然后服务器我这里选择一个虚拟主机,有一些…

小说项目运营快速赚钱的方法技巧都在这里了!

站在时代的风口上,一头猪都可以飞起来,不同的时期有不同的红利项目,有些人还没了解,项目就已经黄了。 小说项目只会是玩法越来越升级赚钱,要抓住用户心理,才不会被淘汰。 今天就来跟大家分享一些小说项目…

我靠“读书笔记”闷声赚3万:那些你看不上的行业,往往最赚钱

全世界只有3.14 % 的人关注了 爆炸吧知识 你有没有计算过:你的时间,值多少钱? 如果你月薪5000,一个月工作20天,每天8小时,那么你1小时的价值就是32元。 然而,现在请一个打扫卫生的钟点工&#x…

投入不到3000,我用小说3年赚了100万,究竟是怎么做到的?

投入不到3000,我用小说3年赚了100万,究竟是怎么做到的? 本人17年负债25w,18年用了半年还清,如今3年小有富余,全靠下面这个(当时是副业做起)。 但我还是要实际的告诉大家,…

【软件分享】阅读APP:免费开源无广告、全网小说免费看(附2613个书源)

软件简介 阅读APP是github上gedoor大佬使用Kotlin开发的一款网络阅读软件,没错这个软件的名字就叫【阅读】。该软件免费、开源、无广告,支持定义书源,全网小说免费看。网络阅读用这一个就够了。目前仅支持安卓系统。 下载地址 官网地址&…

一个上班可以偷偷看小说的阅读器

推荐一款很棒的电脑上看小说阅读器。我用过的最好的看小说软件,调整透明度,自动隐藏,很强大很好用。可调整透明背景,上班偷看小说,老板不会发现,鼠标放上去就有,移开就消失,就是阅读…

项目揭秘:公众号小说赚钱与推广的暴利玩法(干货)

说到网络小说,大部分人并不陌生,追小说如同追剧一样,多看一眼就停不下来。正是因为人的这种好奇心理,加上合理的分销机制,才衍生出了“公众号小说”项目。 有一群这样的公众号,你可能会从各种不同的渠道关注…

小说推文能做吗?怎么做?小说推文真的能赚钱吗?

科思创业汇 大家好,这里是科思创业汇,一个轻资产创业孵化平台。赚钱的方式有很多种,我希望在科思创业汇能够给你带来最快乐的那一种! 近来突然有很多合作伙伴问我,小说推广还能做吗? 在此统一回复&#…

揭秘:网赚圈很红的“小说项目”!月入十万的裂变套路

近几年,在网赚圈,刮起了一阵“小说cps项目”的热潮。各大自媒体平台、公众号、个人号都在宣传操作小说派单项目,可实现暴利收入,月入几万甚至十几万!真的有那么暴利?为何那么多公众号,如此大力宣传,到底是什么套路? 诱惑性标题 很多人都会遇到这种公众号,专门推这种…

小说分销运营赚不赚钱就在这3个问题了!

关于创业,总有人在想,以后能不能做起来还是个未知数,就一直在观望,然而最后往往是连末班车都赶不上。 下面跟大家分享一下小说分销运营要注意的三个问题。 一、清晰的产品定位 小说项目是以优质作品为竞争力,当年的起…

程序员写书到底赚钱吗

时隔半年,昨天又收到了出版社一笔稿费,时间很突然,金额也很突然。 年前的时候松哥发了一篇文章,说新书交稿后入手了一台 MacBook Pro(MacBook Pro 入手一年了,到底香不香?)&#xf…

测试流程简述

测试流程 整体流程如下: 需求评审(功能需求、性能需求、接口需求) 测试计划 测试用例 用例评审 测试环境搭建(平台、架构、web服务器、数据库) 执行用例 缺陷记录 缺陷跟踪和回归测试 测试报告 测试计划 测试计划&a…

功能测试流程规范建设

测试规范 测试规范,网上随便一搜,都是一堆堆的范文,其实规范也是因人而定,每个人的规范或者依据项目或者部门,需要有特殊性,不过虽然可以定制部分,但是大体还是有很多相似之处,下面这…