百度音樂api介面
- 2019 年 11 月 24 日
- 筆記
最近正在研究百度音樂的API,上網搜了下,不外乎就是直接抓網頁或者是已經用爛的的widget的API:
http://box.zhangmen.baidu.com/x?op=12&count=1&title=大約在冬季$$齊秦$$$$
這東東輸出的是一堆xml,而且結果也就那麼四五條,覺得不實用,所以我打算研究下別的
用fiddler2抓了下網頁版的百度音樂盒。。尼瑪一堆的gif,css,js什麼的,找不到什麼有價值的url
後來我下了百度音樂電腦版的客戶端,搜索一下音樂。。結果發現搜索介面也特么是html。。。不爽ing
想了許久,我看著桌上的手機,靈機一動~~誒,抓百度音樂的手機版會不會更方便些呢,手機為了省流量的話發出去的請求應該會少很多,也比較好找
說干就干,於是我下了百度音樂的Android客戶端,然後連接WiFi,把電腦的ip設成代理伺服器,於是fiddler2上便出現了手機發出的http請求
果然,收穫還是大大滴~~~
其實就是一個網址:
http://tingapi.ting.baidu.com/v1/restserver/ting
它全部都是用get請求實現的,後面加不同參數可以實現不同的功能,下面把我抓到的一一介紹(僅供學習交流,請勿用於商業用途):
1.根據關鍵詞返回接近的結果
http://tingapi.ting.baidu.com/v1/restserver/ting?from=android&version=4.9.2.0&method=baidu.ting.search.catalogSug&format=json&query=小蘋果
然後它會給你個json出來,query參數的值不同他的結果不同,有這個songid你就可以在百度音樂找到地址啦
{ "song": [ { "songid": "120125029", "songname": "小蘋果", "artistname": "筷子兄弟" }, { "songid": "121098102", "songname": "小蘋果", "artistname": "迴音哥" }, { "songid": "85762160", "songname": "小蘋果 - 每當唱起這首歌", "artistname": "王媛媛" }, { "songid": "67368864", "songname": "小蘋果", "artistname": "鈴聲" }, { "songid": "85762158", "songname": "小蘋果 手風琴曲", "artistname": "佚名" }, { "songid": "85713017", "songname": "小蘋果樹請醫生", "artistname": "兒童故事" }, { "songid": "35408612", "songname": "小蘋果樹請醫生", "artistname": "佚名" } ], "artist": [], "album": [], "order": "song", "error_code": 22000 }
2.根據歌曲名和歌手名搜索歌曲
http://tingapi.ting.baidu.com/v1/restserver/ting?from=android&version=4.9.2.0&method=baidu.ting.search.merge&format=json&query=小蘋果-筷子兄弟
同樣會有個json,而且裡面有歌詞的鏈接哦:
{ "error_code": 22000, "result": { "query": "小蘋果-筷子兄弟", "syn_words": "", "rqt_type": 1, "song_info": { "total": 1, "song_list": [ { "content": "", "copy_type": "1", "toneid": "0", "info": "電影《老男孩之猛龍過江》2014插曲", "all_rate": "64,128,192,256,320,flac", "resource_type": 0, "relate_status": 0, "has_mv_mobile": 1, "song_id": "120125029", "title": "小蘋果", "ting_uid": "9295", "author": "筷子兄弟", "album_id": "121556956", "album_title": "老男孩之猛龍過江 電影原聲", "is_first_publish": 0, "havehigh": 2, "charge": 0, "has_mv": 1, "learn": 1, "song_source": "", "piao_id": "0", "korean_bb_song": "", "resource_type_ext": "", "artist_id": "57520", "all_artist_id": "57520", "lrclink": "http://musicdata.baidu.com/data2/lrc/121017633/%E5%B0%8F%E8%8B%B9%E6%9E%9C.lrc", "data_source": 0, "cluster_id": 0 } ] } } }
3.通過id獲取地址歌詞和圖片
這個不是客戶端抓的。。似乎那個API關於歌詞圖片下載地址的介面得參數都有加密
http://ting.baidu.com/data/music/links?songIds=120125029
還是json:
{ "errorCode": 22000, "data": { "xcode": "963cc26c0c0fdd6cb639b3d1b2fa946c", "songList": [ { "queryId": "120125029", "songId": 120125029, "songName": "小蘋果", "artistId": "9295", "artistName": "筷子兄弟", "albumId": 121556956, "albumName": "老男孩之猛龍過江 電影原聲", "songPicSmall": "http://a.hiphotos.baidu.com/ting/pic/item/32fa828ba61ea8d3a59619cd950a304e241f5846.jpg", "songPicBig": "http://b.hiphotos.baidu.com/ting/pic/item/dc54564e9258d109f857c47bd358ccbf6d814d46.jpg", "songPicRadio": "http://c.hiphotos.baidu.com/ting/pic/item/e4dde71190ef76c6966696e29f16fdfaae516746.jpg", "lrcLink": "/data2/lrc/121017633/121017633.lrc", "version": "", "copyType": 1, "time": 211, "linkCode": 22000, "songLink": "http://zhangmenshiting.baidu.com/data2/music/121859589/1201250291407038461.mp3?xcode=963cc26c0c0fdd6cd95227c58110eada88aca43f4cfb1c02", "showLink": "http://zhangmenshiting.baidu.com/data2/music/121859589/1201250291407038461.mp3?xcode=963cc26c0c0fdd6cd95227c58110eada88aca43f4cfb1c02", "format": "mp3", "rate": 128, "size": 3394555, "relateStatus": "0", "resourceType": "0" } ] } }
目前能用的就是這麼多,應該可以弄一個微信點歌了^_^ ,等我把百度音樂的加密搞出來的話我會繼續更新的~~~
希望這些東西對那些想做在線音樂的朋友們有幫助吧