根據這些加上反向代理你就可以做一個爬蟲播放器,但是 請勿商用
本文只是講如何尋找接口,濫用別人接口導致的後果自行負責。
qq音樂api尋找
尋找qq音樂接口
尋找別人的接口其實也就是有點像破解,請勿商用
推薦用火狐瀏覽器來找
根據網絡請求尋找
打開網頁版的qq音樂
F12後選中網絡模塊
搜索歌曲
搜索一首歌曲
在網絡請求中找到和歌曲列表相似的數據
如下
播放歌曲
獲取vkey和播放地址
獲取音頻
去除不必要的請求數據
使用Postman或者在瀏覽器中編輯重發
瀏覽器編輯重發
postman(網絡請求工具)
我們講參數一個一個的去掉,就是不攜帶此參數,看看發生什麼
最後發現只需要三個參數即可請求
https://c.y.qq.com/soso/fcgi-bin/client_search_cp?p=1&n=10&w=我愛你
但是new_json參數會影響json的返回格式
加不加的對比
左爲不加,右爲加
參數詳解
歌曲搜索
GET
https://c.y.qq.com/soso/fcgi-bin/client_search_cp?p=1&n=10&w=我愛你&new_json=1
請求參數
p和n爲分頁參數 p爲頁數,n爲每頁的個數,w爲搜索歌曲名稱
new_json參數會影響json的返回格式
返回參數
不加new_json
主要參數
albumname歌曲名
media_mid/songmid 歌曲播放所需id
singer 歌手信息
加new_json
album歌曲信息(其中name歌曲名)
file 歌曲文件信息(其中media_mid 歌曲播放所需id)
singer 歌手信息
獲取音樂vkey
GET
https://u.y.qq.com/cgi-bin/musicu.fcg?data={“req”:{“module”:“CDN.SrfCdnDispatchServer”,“method”:“GetCdnDispatch”,“param”:{“guid”:"",“calltype”:0,“userip”:""}},“req_0”:{“module”:“vkey.GetVkeyServer”,“method”:“CgiGetVkey”,“param”:{“guid”:"",“songmid”:[“001hK3yu13DDjM”],“songtype”:[0],“uin”:“0”,“loginflag”:1,“platform”:“20”}},“comm”:{“uin”:0,“format”:“json”,“ct”:24,“cv”:0}}
看着是不是很嚇人
只需要改變一個參數songmid
我個人覺得如果不加guid或者uin會被qq音樂記錄請求,請求不帶cookie估計也會
https://u.y.qq.com/cgi-bin/musicu.fcg?data={“req”:{“module”:“CDN.SrfCdnDispatchServer”,“method”:“GetCdnDispatch”,“param”:{“guid”:"",“calltype”:0,“userip”:""}},“req_0”:{“module”:“vkey.GetVkeyServer”,“method”:“CgiGetVkey”,“param”:{“guid”:"",“songmid”:[“001hK3yu13DDjM”],“songtype”:[0],“uin”:“0”,“loginflag”:1,“platform”:“20”}},“comm”:{“uin”:0,“format”:“json”,“ct”:24,“cv”:0}}
請求參數
songmid:音樂播放所需的id
guid隨便一個數字,但是必須要用
猜測返回的purl是加密的,包括guid,所以播放時的guid和此處guid要一致,由於purl返回的時候包括guid所以可以在獲取播放音頻時忽略此提醒,按照下面講解請求即可
如果是會員或者需要權限歌曲,不帶個人信息會返回沒有權限
返回參數
成功時
分req0和req
我們請求用的
所以主要會使用req_o中的參數
如下
我們只需要拿到兩個參數
播放源:在sip中 一般爲兩個
播放地址url:在purl中
也就是拿到sip和purl我們就可以請求歌曲了
失敗時
並不是請求失敗而是沒有權限
如果想破解vip歌曲,請找個vip賬號測試,但是請勿商用
有興趣的小夥伴可以研究下req請求
歌曲音頻獲取
GET
其實就是我們上一步獲取vkey時拿到的參數進行拼接
sip中的一個加上purl
比如
我們使用sip中的/isure.stream.qqmusic.qq.com
和purlC4000013uCFc0CZ4NY.m4a?guid=xxxx&vkey=F5F08D2777F326A24F98ACE37E914ADE175908292D49954A3E81C3134B1531EB6C4514796A6DA41BE1F9385EF260B4C681C707A5D6D02E0C&uin=3994&fromtag=66
如果你在上一步請求中
它返回的就是
C4000013uCFc0CZ4NY.m4a?guid=0&vkey=F5F08D2777F326A24F98ACE37E914ADE175908292D49954A3E81C3134B1531EB6C4514796A6DA41BE1F9385EF260B4C681C707A5D6D02E0C&uin=3994&fromtag=66
如果是123就返回的時
http://isure.stream.qqmusic.qq.com/C4000013uCFc0CZ4NY.m4a?guid=123&vkey=A349CEDB5B742C09C4B8759B72D9BA4823F4B65CB6C52E85E15E8F6E1206B6CB089BB87B7E6C4E7077648B4EA39DD707614BF322D3E4CE66&uin=0&fromtag=66
拼接成
http://isure.stream.qqmusic.qq.com/C4000013uCFc0CZ4NY.m4a?guid=123&vkey=A349CEDB5B742C09C4B8759B72D9BA4823F4B65CB6C52E85E15E8F6E1206B6CB089BB87B7E6C4E7077648B4EA39DD707614BF322D3E4CE66&uin=0&fromtag=66
返回如下
根據這些加上反向代理你就可以做一個爬蟲播放器,但是 請勿商用
本文只是講如何尋找接口,濫用別人接口導致的後果自行負責。
大家好,我是代碼哈士奇,是一名軟件學院網絡工程的學生,因爲我是“狗”,狗走千里喫肉。想把大學期間學的東西和大家分享,和大家一起進步。但由於水平有限,博客中難免會有一些錯誤出現,有紕漏之處懇請各位大佬不吝賜教!暫時只在csdn這一個平臺進行更新,博客主頁:https://blog.csdn.net/qq_42027681。
未經本人允許,禁止轉載
後續會推出
前端:vue入門 vue開發小程序 等
後端: java入門 springboot入門等
服務器:mysql入門 服務器簡單指令 雲服務器運行項目
python:推薦不溫卜火 一定要看哦
一些插件的使用等
大學之道亦在自身,努力學習,熱血青春
如果對編程感興趣可以加入我們的qq羣一起交流:974178910
有問題可以下方留言,看到了會回覆哦