[转]百度MP3音乐API接口及应用
当你在百度去搜索一首歌时,你会发现有种更简单的方法,嘿嘿,告诉你个秘密,百度有个不公开的API
http://box.zhangmen.baidu.com/x?op=12&count=1&title=一直想着他$$庄心妍$$$$
用上面的地址,红色部分改成歌名与作者名,然后百度就会给你一个XML:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <result> <count> 1 </count> < url > <encode> <![CDATA[ http://zhangmenshiting.baidu.com/data 2 /music/ 105312949 /YmJoZ 2 ZocGxqYKCkaHWvm 6 CWmHFla 25 pYmhlmZhuaGlmlpiZa 5 iZmpNqlJhta 2 xtY 5 VsmmmamHCSZpdnbGhvmZJiZGpbo 6 CcbmJhZW 1 naG 1 pY 2 ZlaGpsbGky ]]> </encode> <decode> <![CDATA[ 105312949 .mp 3 ?xcode= 0571162 ec 8115 dee 6 bbbb 8 ad 85552 c 9 f 4 da 8 a 4 d 3728 aa 016 &mid= 0.18115813134548 ]]> </decode> <type> 8 </type> <lrcid> 0 </lrcid> <flag> 0 </flag> </ url > <durl> <encode> <![CDATA[ http://zhangmenshiting 2 .baidu.com/data 2 /music/ 105313027 /YmJoZ 2 ZpZ 2 poYKCkaHWvm 6 CWmHFla 25 pYmhlmZhuaGlmlpiZa 5 iZmpNqlJhta 2 xtY 5 VsmmeXm 55 qaWVoamqZa 2 mWZmxbo 6 CcbmJhZW 1 naG 1 pY 2 ZlaGpsbGky ]]> </encode> <decode> <![CDATA[ 105313027 .mp 3 ?xcode= 0571162 ec 8115 dee 6 bbbb 8 ad 85552 c 9 f 2 adf 972454 b 38 d 38 &mid= 0.18115813134548 ]]> </decode> <type> 8 </type> <lrcid> 0 </lrcid> <flag> 0 </flag> </durl> </result> |
PHP解析:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | public function getMusicContent( $postObj ) { $ret = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[music]]></MsgType> <Music> <Title><![CDATA[%s]]></Title> <Description><![CDATA[]]></Description> <MusicUrl><![CDATA[%s]]></MusicUrl> <HQMusicUrl><![CDATA[%s]]></HQMusicUrl> <FuncFlag><![CDATA[1]]></FuncFlag> </Music> </xml>"; $recognition = $postObj ->Recognition; $keywordc = urlencode( $recognition ); $musicapi = "http://box.zhangmen.baidu.com/x?op=12&count=1&title={$keywordc}\$\$" ; $simstr = file_get_contents ( $musicapi ); $musicobj =simplexml_load_string( $simstr ); $i =0; $musicurl ; foreach ( $musicobj ->url as $itemobj ) { $encode = $itemobj ->encode; $decode = $itemobj ->decode; $removedecode = end ( explode ( '&' , $decode )); if ( $removedecode <> "" ) { $removedecode = "&" . $removedecode ; } $decode = str_replace ( $removedecode , "" , $decode ); $musicurl = str_replace ( end ( explode ( '/' , $encode )) , $decode , $encode ); break ; } $resultStr = sprintf( $ret , $postObj ->FromUserName, $postObj ->ToUserName,time(), $recognition , $musicurl , $musicurl ); return $resultStr ; } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
2008-12-04 DELPHI操作XML添加DOCTYPE部分信息