自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

我是如何利用Python下載酷狗音樂的

開發(fā) 后端
現在的聽歌軟件動不動就是各種付費,要下載軟件才能聽,當你下載了之后,你會驚奇的發(fā)現這首歌還收費,于是,小編冥思苦想,終于讓我發(fā)現了其中的奧秘,一起來看看吧。

[[413433]]

大家好,我是Python進階者。

前言

現在的聽歌軟件動不動就是各種付費,要下載軟件才能聽,當你下載了之后,你會驚奇的發(fā)現這首歌還收費,這就讓一向喜歡白嫖的小編感到很傷心了。于是,小編冥思苦想,終于讓我發(fā)現了其中的奧秘,一起來看看吧。

項目準備

編輯器:Sublime Text 3

瀏覽器:360瀏覽器

項目目標

下載我們喜歡的音樂

項目實現

1.打開酷狗音樂官網,360瀏覽器打開酷狗音樂官網,如下圖所示。

可以看到十分清爽的畫風,這也是我比較喜歡的地方。

2.審查元素,分析請求。打開Network ,分析請求,我們可以看到:

從上圖可以看出,這是請求的參數,所以我們可以使用Requests模塊對它發(fā)起請求。

3.模擬發(fā)起請求。我們從網頁中得知它的地址為:

  1. https://www.kugou.com/yy/html/search.html#searchType=song&searchKeyWord=%E4%B8%8D%E8%B0%93%E4%BE%A0 

可以看到真正對于我們來說有用的就只有SearchKeyWord參數后的值,前面的搜索類型默認填寫即可,所以我們可以這樣:

  1. import requests 
  2. headers={ 
  3. 'accept''*/*'
  4. 'accept-encoding':'gzip, deflate, br'
  5. 'accept-language''zh-CN,zh;q=0.9'
  6. 'cookie''kg_mid=ebb2de813317a791bcf7b7d3131880c4; UM_distinctid=1722ba8b22632d-07ac0227c507a7-4e4c0f20-1fa400-1722ba8b2284a1; kg_dfid=0Q0BEI47P4zf0mHYzV0SYbou; kg_dfid_collect=d41d8cd98f00b204e9800998ecf8427e; Hm_lvt_aedee6983d4cfc62f509129360d6bb3d=1590041687,1590280210,1590367138,1590367386; Hm_lpvt_aedee6983d4cfc62f509129360d6bb3d=1590367431'
  7. 'referer''https://www.kugou.com/yy/html/search.html'
  8. 'sec-fetch-mode''no-cors'
  9. 'sec-fetch-site''same-site'
  10. 'user-agent''Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36' 
  11. aa=input('請輸入歌名:'
  12. data={ 
  13. 'callback''jQuery112408716317197794392_1590368232677'
  14. 'keyword':aa, 
  15. 'page''1'
  16. 'pagesize':'30'
  17. 'userid':'-1'
  18. 'clientver'''
  19. 'platform''WebFilter'
  20. 'tag''em'
  21. 'filter''2'
  22. 'iscorrection''1'
  23. 'privilege_filter''0'
  24. '_''1590368232679'
  25. res = requests.get('https://www.kugou.com/yy/html/search.html',params=data,timeout=4) 
  26. print(res) 

這樣就實現了模擬請求,我們來驗證下:

可以看出它成功打印出了和我們上面一模一樣的地址。

4.獲取音樂文件列表

  1. rep=requests.get('https://www.kugou.com/yy/html/search.html',params=data,timeout=5) 
  2. print(rep.url) 
  3. res=requests.get(rep.url,timeout=4) 
  4. print(res.text) 

當我們將請求地址填寫正確后,我發(fā)現竟然內容與預期不相符,但是請求地址對的一批。

我以為是這樣的結果:

實際上的結果:

可以看到差距很大,而且用Json也根本獲取不到,報格式錯誤,說明不是一個Json,看來這比QQ音樂難度高點。不過我們今天要下載的是音頻文件,所以暫時跳過,不管它。

5.下載音頻文件。我們在搜索后彈出來的列表中選擇原唱曲目,進去聽一下:

我選擇第一首,打開是這樣,我們開始騷操作,打開Network:

我們輸入后綴Mp3,然后定位到對應的請求,然后打開它的請求結果,可以看到一個Json結果:

我們將Json結果粘貼到控制臺,可以看到里面有一段關于Mp3的結果,不過添加了點干擾符號,我們把它提取出來:

這樣我們就可以把酷狗音樂的歌曲下載下來了。

項目總結

其實,酷狗音樂與QQ音樂不同,其實酷狗音樂的下載鏈接更好捕獲,你可以直接在它的播放界面捕獲到:

模擬請求這個界面,一切都搞定了。

 

責任編輯:姜華 來源: Python爬蟲與數據挖掘
相關推薦

2018-01-24 17:32:13

微信

2015-11-19 00:51:02

音樂平臺

2018-03-09 11:25:09

微信

2018-03-02 14:20:17

微信

2015-12-25 17:36:33

酷狗

2018-01-18 10:36:05

微信

2013-07-23 17:55:14

酷狗音樂mac

2018-01-16 17:53:44

微信

2015-12-16 18:09:07

艾瑞

2018-01-26 15:16:47

微信

2018-01-18 22:35:31

微信

2009-05-21 08:13:37

酷我音樂盒明星

2009-07-02 16:16:48

酷我音樂盒在線播放

2015-12-18 18:11:37

酷狗

2018-01-24 17:33:36

2015-12-17 19:01:36

酷狗

2018-03-02 16:15:04

微信

2009-05-21 08:15:50

酷我音樂盒新版界面
點贊
收藏

51CTO技術棧公眾號