百度MP3音乐API接口及应用
当你在百度去搜索一首歌时,你会发现有种更简单的方法。
http://box.zhangmen.baidu.com/x?op=12&count=1&title=歌名$$作者$$$$
例如:
http://box.zhangmen.baidu.com/x?op=12&count=1&title=传奇$$李健$$$$
百度返回一个XML:
<result>
<count>1</count>
<url>
<encode>
<![CDATA[
http://zhangmenshiting.baidu.com/data2/music/51574053/ZmNoa2lmbGtfn6NndK6ap5WXcG1sl2qZYmtml2abcG6Tl5mVZ5dobpRpaWVlm5yak5WZl25tcGpiZZZnmJudaZNpY1qin5t1YWBraGtmb3BqamtlamlpbTE$
]]>
</encode>
<decode>
<![CDATA[
51574053.mp3?xcode=97a3a193c1e96befa2a16c7610eebbcfc979213c3cef1b70&mid=0.84608898815325
]]>
</decode>
<type>8</type>
<lrcid>170260</lrcid>
<flag>1</flag>
</url>
<durl>
<encode>
<![CDATA[
http://zhangmenshiting2.baidu.com/data2/music/121014239/YmRkZGZqaWtqYKCkaHWvm6CWmHFubZhrkmNsZ5hnnHFnlJiaZmpubGFrbGRlZmtpkmNoa2lmbWljlmZmZmmZb2NrZmxbo6CcbmJhbGlsZ3Bpa2tsZmtqamYy
]]>
</encode>
<decode>
<![CDATA[
121014239.mp3?xcode=97a3a193c1e96bef147409900041a15740612d3213b72938&mid=0.84608898815325
]]>
</decode>
<type>8</type>
<lrcid>170260</lrcid>
<flag>1</flag>
</durl>
<p2p>
<hash>218ad872a73061cfb5e4f40a6583f4ca98e739a4</hash>
<url>
<![CDATA[ ]]>
</url>
<type>mp3</type>
<size>7173146</size>
<bitrate>192</bitrate>
</p2p>
</result>
count :1代表查找成功且返回结果 0代表失败
url与durl分别对应不同质量的音频文件下载地址。
一下针对url里的内容分析,durl一样。
encode里的值是歌曲加密后的地址,加密只是对文件名加密的,我们需要的只是前面的路径,也就是
http://zhangmenshiting.baidu.com/data2/music/51574053/ 这部分,
然后复制decode 的值: 51574053.mp3?xcode=9baace62869d2dba935993ec0dabf034c979213c3cef1b70&mid=0.19874044629948
与前面的相拼就是正确的下载地址:
http://zhangmenshiting.baidu.com/data2/music/51574053/51574053.mp3?xcode=9baace62869d2dba935993ec0dabf034c979213c3cef1b70&mid=0.19874044629948
http://zhangmenshiting.baidu.com/data2/music/51574053/51574053.mp3
不加参数则提示登录。
lrcid这个的值是百度服务器上这首歌的歌词文件的文件名,这个文件的路径是:http://box.zhangmen.baidu.com/bdlrc/1702/170260.lrc
这个地址解释下:
http://box.zhangmen.baidu.com/bdlrc/ 这个是百度lrc歌词存放地址。后面的1702是一个的不定的数,也就是说歌曲不同那个目录名也不同,它的算法是拿歌词文件名(也就是上面说的170260)
除以一百,然后取小于等于其结果的最大整数,如上面的:170260/100
=1702.60 取小于等于1702.60 的最大整数就是1702,于是这首歌完整的歌词地址就出来了:http://box.zhangmen.baidu.com/bdlrc/1702/170260.lrc
百度MP3音乐API接口及应用的更多相关文章
- [转]百度MP3音乐API接口及应用
当你在百度去搜索一首歌时,你会发现有种更简单的方法,嘿嘿,告诉你个秘密,百度有个不公开的API http://box.zhangmen.baidu.com/x?op=12&count=1&am ...
- 在线音乐播放器-----酷狗音乐api接口抓取
首先身为一个在线音乐播放器,需要前端和数据库的搭配使用. 在数据库方面,我们没有办法制作,首先是版权问题,再加上数据量.所以我们需要借用其他网络播放器的数据库. 但是这些在线播放器,如百度,酷狗,酷我 ...
- 百度地图的API接口----多地址查询和经纬度
最近看了百度地图的API的接口,正想自己做点小东西,主要是多地址查询和经纬度坐标跟踪, 下面的代码直接另存为html就可以了,目前测试Chrome和360浏览器可以正常使用. <!DOCTYPE ...
- 使用百度翻译的API接口
http://api.fanyi.baidu.com/api/trans/product/desktop 这是申请的接口地址,会得到一个APPID和一个钥密 然后下载PHP的对应的代码 有一个PHP文 ...
- 酷狗音乐API接口大全(40+个)
歌单分类部分 获取精选专区所有分类 http://mobilecdnbj.kugou.com/api/v3/tag/list?pid=0&apiver=2&plat=0 获取热门推荐分 ...
- 百度音乐API抓取
百度音乐API抓取 前段时间做了一个本地音乐的播放器 github地址,想实现在线播放的功能,于是到处寻找API,很遗憾,不是歌曲不全就是质量不高.在网上发现这么一个APIMRASONG博客,有“获取 ...
- 关于网易云音乐爬虫的api接口?
抓包能力有限,分析了一下网易云音乐的一些api接口,但是关于它很多post请求都是加了密,没有弄太明白.之前在知乎看到过一个豆瓣工程师写的教程,但是被投诉删掉了,请问有网友fork了的吗?因为我觉得他 ...
- C#百度图片识别API调用返回数据包解析
百度图片识别api接口 public static JObject GeneralBasic(string apikey,string secretkey,string path) { var cli ...
- 百度乐播音乐真实地址查找api接口
1.百度乐播官网:http://lebo.baidu.com: 随便点击进去一个音乐界面,如:http://lebo.baidu.com/album/9036366 2.chrome浏览器右击'检查' ...
随机推荐
- 【记录】.bin文件 到 .vdi文件的转换教程
.bin文件 到 .vdi文件的转换教程 1. 背景 想体验一下 Chrome OS 系统,于是准备在 虚拟机VirtualBox(Mac版) 中安装一下,网上教程非常少,找到如下教程 原贴地址:ht ...
- Spring的一些基本概念(面试备用哦)
1.什么是Spring, 它有什么特点? 包括哪些内容? Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架. ◆ 轻量——从大小与开销两方面而言Spring都是轻量的.完整 ...
- iOS从gif获取图片数组
iOS中,当我们UIImageView实现动画时,如果图片是gif则不会自动播放gif图片,我们可以从gif图片中读取出每一帧的图片,然后组成图片数组,之后再实现使用UIImageView实现动画效果 ...
- python集合的运算
& 交集 | 并集 - 差集 ^ 异或集 # 在对集合做运算时,不会影响原来的集合,而是返回一个运算结果 # 创建两个集合 s = {1,2,3,4,5} s2 = {3,4,5, ...
- APICloud开发者进阶之路 |iOS修改entitlements文件
本文出自APICloud官方论坛, 感谢论坛版主 技术咨询-Kenny 的分享. 一.概述iOS原生开发中若要实现某些特殊功能,如使用HealthKit.实现Universal Links等.需要 ...
- dp-LCS(递归输出最短合串)
Problem Description The company "21st Century Fruits" has specialized in creating new sort ...
- spring boot 集成apollo 快速指南
目前市面上流行的三大配置中心框架:Spring CLoud Config .Alibaba Nacos 以及携程apollo, 我们相应架构组号召,就使用Apollo吧. Work Flow 简单解释 ...
- 关于python列表的一些基础知识。
因学校实验室要求,自学了python,一开始看书觉得太简单了,也没有多动手去尝试,直到看完了前八章突然想动手试试的时候,人傻了,深刻体会到了好记性不如烂笔头的道理,故整理一些python列表的操作. ...
- 若依框架. 仿ThymeLeaf前端SelectDictLable方法
在framework项目下新增所需服务
- java面试| 精选基础题(3)
每天进步一点点,距离大腿又近一步! 阅读本文大概需要6分钟 系列文章 java面试| 精选基础题(1) java面试|精选基础题(2) 1.float f=3.4;是否正确? 答:不正确,编译无法通过 ...