1. 程式人生 > >[Demo實踐]模擬登入豆瓣FM獲取個人收藏歌曲“紅心列表”

[Demo實踐]模擬登入豆瓣FM獲取個人收藏歌曲“紅心列表”

背景
我很喜歡豆瓣FM的風格,然而它無法滿足我日常的需求,手機上用網易雲音樂,家裡海信電視用QQ音樂、天貓放糖好像是蝦米。好累啊,捨不得豆瓣的歌,想把我收藏的“紅心歌曲”清單都下載下來。

步驟一
模擬登陸豆瓣,使用Fiddler攔截http協議,檢視登入請求。

步驟二
分析http請求,想要獲取“紅心歌曲”需要三次http請求:
第一次:登入獲取使用者標識cookie
第二次:使用cookie獲取紅心歌單主鍵—sid
第三次:根據多個sid獲取歌曲的資訊(包括歌名、歌手、專輯圖片、甚至是播放地址[好驚喜Orz])

http請求分析的方法,簡單如下:

1、你得了解一下http協議,知道它的請求包括頭部headers、內容body
2、請求頭中比較重要的兩個是

  • content-type,有時候你的body是需要urlencode的;
  • referrer,有的網站伺服器是需要驗證這個的,不然不給過。

3、響應訊息,一般只關注body,需要先把位元組碼轉換成字串,一般都是json格式。

其他
java、maven、springBoot版本地址:
https://github.com/haerxiong/douban_fm (包涵了簡單的播放功能、下載歌單)
nodejs版本:
https://github.com/haerxiong/nodejs/tree/master/httpget/douban (僅下載歌單)

原文地址:

https://blog.csdn.net/haerxiong/article/details/84833651