採集練習(十二) python 採集之 xbmc 酷狗電臺插件

  前段時間買了個樹莓派才知道有xbmc這麼強大的影音軟件(後來我逐漸在 電腦、手機和機頂盒上安裝xbmc),在樹莓派上安裝xbmc後樹莓派就成爲了機頂盒,後面在hdpfans論壇發現了jackyspy 版主寫的xbmc插件開發教程(贊一個!寫的很是不錯)。因而本身嘗試去看了下以爲很是不錯。恰好本身去年學過python(一直沒搞過實際的東西),因而就寫了酷狗電臺這個插件。php

我一直用酷狗聽歌 電腦上這幾年一直用web版酷狗 連接是 http://web.kugou.com ,固然原本開始準備到 這個連接裏找到酷狗的播放連接,用瀏覽器查看一番後發現用的是flash,沒搞定,後來在 酷狗的html5版發現了酷狗的播放列表。html

插件實現的都是基本功能,連歌手、歌手圖片也沒提供;html5

音頻來源於酷狗的html5版 http://m.kugou.com ,格式爲m4a,鏈接速度還行。python

 

如下是步驟 git

一、打開 http://m.kugou.com  選擇電臺播放   在chrome 瀏覽器 ->開發者工具-> console 裏發現 一個 ajax請求 (下面幾步均可以在console 或network 裏看到相應的url請求)  http://m.kugou.com/app/i/fmList.php?pageindex=2&pagesize=20 裏面就是電臺列表github

  參數pageindex 應該表示 頁數、 pagesize表示每頁電臺數量。web

打開這個連接 發現裏面就是電臺列表 的json  解析後以下圖ajax

分析後這個json不難發現 每一個參數的意思。 fmid: 電臺id  、fmname:電臺名 、fmSongData :電臺第一首歌的相應信息,其餘參數也能夠猜出。chrome

二、選擇一個電臺播放後繼續在 瀏覽器 ->開發者工具-> network 發現一個 請求  http://m.kugou.com/app/i/fmSongs.php?fmid=3&offset=0&size=20  得到電臺裏的全部歌曲列表json

     參數 fmid表示電臺id 、 offset 表示查詢起點、size 表示 顯示數量。

  裏面的參數一看就知道,其中 hash應該是歌曲的id,下面要根據hash得到歌曲的真實地址。 

三、 根據前一步得到的 歌曲的hash如今就能夠得到 mp3的真實地址了 如 http://m.kugou.com/app/i/getSongInfo.php?hash=5D5D67FA9B7AEF5BFA948EBB2FFE168A&cmd=playInfo  參數hash就是上一步得到的hash 其中 cmd=playInfo 必須,缺乏將 沒法得到歌曲信息

如今基本就搞定了。

固然你若是在瀏覽器繼續查看相應的請求、還有相應的請求得到 歌手圖片、歌詞信息,不過那些信息,都要得到先得到歌手名或歌名、根據第2步裏的得到的數據就能夠得到。

好了! 代碼這裏就不放了, 由於已經放到github 裏去了, 地址是 https://github.com/keygle/plug.audio.kugoufm  裏面是用python實現的。

相關文章
相關標籤/搜索