欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python爬蟲實(shí)戰(zhàn)項(xiàng)目掌握酷狗音樂的加密過程

 更新時(shí)間:2021年09月27日 14:24:50   作者:il_持之以恒_li  
在常見的幾個(gè)音樂網(wǎng)站里,酷狗可以說是最好爬取的啦,什么彎都沒有,所以最適合小白入門爬蟲,本篇針對爬蟲零基礎(chǔ)的小白,所以每一步驟我都截圖并詳細(xì)解釋了,其實(shí)我自己看著都啰嗦,歸根到底就是兩個(gè)步驟的請求,還請大佬繞路勿噴

1.前言

小編在這里講一下,下面的內(nèi)容僅供學(xué)習(xí)參考,切莫用于商業(yè)活動(dòng),一經(jīng)被相關(guān)人員發(fā)現(xiàn),本小編概不負(fù)責(zé)!讀者切記切記。

請?zhí)砑訄D片描述

2.獲取音樂播放列表

其實(shí),這就是小編要講的重點(diǎn),因?yàn)榫褪沁@部分用到了加密。
我們在搜索欄上輸入我們想聽的音樂,小編輸入:刺客

請?zhí)砑訄D片描述

  • 是不是看到了一系列音樂,怎樣得到這些音樂的一些信息呢?(這里指的音樂信息是指音樂的hash值和音樂的album_id值【這兩個(gè)參數(shù)在獲取音樂的下載鏈接那里會(huì)用到】,當(dāng)然還包括音樂的名稱【不然怎么區(qū)別呢?】)。
  • 由于這一系列音樂是動(dòng)態(tài)加載出來的,也就是如果直接解析這個(gè)界面的數(shù)據(jù),根本得不到,這個(gè)時(shí)候我們就應(yīng)該來到如下這個(gè)界面了。

請?zhí)砑訄D片描述

是不是可以看到我們剛才看到的那些音樂了,而且展開其中一首音樂,可以發(fā)現(xiàn)上述小編講的哪些信息好像都有了呀!
我們看一下這個(gè)請求的網(wǎng)址吧!發(fā)現(xiàn)這是一個(gè)get請求,請求數(shù)據(jù)如下:

請?zhí)砑訄D片描述

  • 小編搜索了多首歌曲,發(fā)現(xiàn)它們的請求參數(shù)有一個(gè)共同點(diǎn),那就是除了keyword、clienttime、mid、uuid和signature這幾個(gè)參數(shù)值不同之外,其他的都差不多,而clienttime本意就是客戶端時(shí)間,它的值是一個(gè)時(shí)間戳,mid和uuid的值和clienttime一樣的,keyword它的值就是我們搜索的關(guān)鍵詞,現(xiàn)在我們需要的就是搞懂signature這個(gè)參數(shù)值到底是什么呀!
  • 小編得到這個(gè)signature參數(shù)值的長度為32,覺得應(yīng)該是使用了加密,將一些初始數(shù)據(jù),把它加密得到的,那么怎樣得到這個(gè)初始數(shù)據(jù)呢?
  • 小編點(diǎn)擊了這個(gè)網(wǎng)站所有的js文件,發(fā)現(xiàn)這個(gè)參數(shù)值在這個(gè)js文件下

請?zhí)砑訄D片描述

  • 是不是看到了md5這個(gè)函數(shù)呀!這應(yīng)該就是那個(gè)加密函數(shù)了吧!而o.join("")就應(yīng)該是那個(gè)初始數(shù)據(jù)了,o是一個(gè)js數(shù)組。
  • 現(xiàn)在知道要獲取o的值,怎樣獲取呢?肯定是使用斷點(diǎn)呀!我們在signature周圍打上相應(yīng)的斷點(diǎn),然后執(zhí)行斷點(diǎn)操作(這個(gè)小編就不一一贅述了,小編使用js斷點(diǎn)還是有一點(diǎn)懵逼的,就不在這里誤導(dǎo)大家了)。

請?zhí)砑訄D片描述

請?zhí)砑訄D片描述

  • 上述圖片就是那個(gè)js數(shù)組o中的值了,經(jīng)過對這些數(shù)據(jù)進(jìn)行分析,發(fā)現(xiàn)其實(shí)這其中絕大部分值就是我們請求網(wǎng)址的哪些參數(shù)值,讀者覺得呢?

請?zhí)砑訄D片描述

  • 整個(gè)加密算法如下:

請?zhí)砑訄D片描述

  • 這也太長了吧!原本小編打斷使用python來模擬這個(gè)加密過程,但是現(xiàn)在小編看到這么長,放棄了,但是并不代表加密過程就無法實(shí)現(xiàn),小編查閱資料,發(fā)現(xiàn)原來python可以執(zhí)行js語句,我們是不是只需結(jié)合python和js,就能實(shí)現(xiàn)這個(gè)加密了呢?開干!
  • 代碼如下:

請?zhí)砑訄D片描述

  • 看看運(yùn)行結(jié)果吧!

在這里插入圖片描述

  • 是不是這樣就獲取我們想要的數(shù)據(jù)了呀!我們只需使用json解析這些數(shù)據(jù),就可以獲取小編在上面提到的那兩個(gè)參數(shù)了?!疽魳返膆ash值和音樂的album_id值】

3. 得到歌曲的下載鏈接

  • 在上述第二點(diǎn)那里講到音樂的hash值和音樂album_id值,為什么要提到它們倆呢?當(dāng)然是為了給第第三點(diǎn)這里做鋪墊的哈!

請?zhí)砑訄D片描述

  • 這個(gè)過程小編不會(huì)講的很詳細(xì),因?yàn)樾【幗裉熘v的重點(diǎn)是這個(gè)加密哈!

請?zhí)砑訄D片描述

我們點(diǎn)擊一首歌播放,來到上述界面,可以看到歌曲的下載鏈接,這個(gè)請求的參數(shù)如下:

請?zhí)砑訄D片描述

  • 這些請求參數(shù)中是不是看到我提到的那兩個(gè)參數(shù)呀!
  • 通過分析發(fā)現(xiàn),其實(shí)只需以下三個(gè)參數(shù)即可請求成功!如下

請?zhí)砑訄D片描述

請?zhí)砑訄D片描述

  • 相應(yīng)的代碼小編就不一一發(fā)出來了,相信聰明的讀者看了小編的本篇博客,定然可以實(shí)現(xiàn)酷狗音樂的下載

到此這篇關(guān)于Python爬蟲實(shí)戰(zhàn)項(xiàng)目掌握酷狗音樂的加密過程的文章就介紹到這了,更多相關(guān)Python 酷狗音樂的加密過程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 十一個(gè)案例帶你吃透Python函數(shù)參數(shù)

    十一個(gè)案例帶你吃透Python函數(shù)參數(shù)

    這篇文章主要通過十一個(gè)案例帶大家一起了解一下Python中的函數(shù)參數(shù),文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下
    2022-08-08
  • Python實(shí)現(xiàn)非正太分布的異常值檢測方式

    Python實(shí)現(xiàn)非正太分布的異常值檢測方式

    今天小編就為大家分享一篇Python實(shí)現(xiàn)非正太分布的異常值檢測方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python爬蟲回測股票的實(shí)例講解

    Python爬蟲回測股票的實(shí)例講解

    在本篇文章里小編給大家整理的是一篇關(guān)于Python爬蟲回測股票的實(shí)例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-01-01
  • pytorch使用-tensor的基本操作解讀

    pytorch使用-tensor的基本操作解讀

    這篇文章主要介紹了pytorch使用-tensor的基本操作解讀,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • PyQtGraph在pyqt中的應(yīng)用及安裝過程

    PyQtGraph在pyqt中的應(yīng)用及安裝過程

    這篇文章主要介紹了PyQtGraph在pyqt中的應(yīng)用,文中給大家介紹了pyqtgraph的主要用途及PyQtGraph的安裝過程,需要的朋友可以參考下
    2019-08-08
  • Python進(jìn)制轉(zhuǎn)換與反匯編實(shí)現(xiàn)流程介紹

    Python進(jìn)制轉(zhuǎn)換與反匯編實(shí)現(xiàn)流程介紹

    這篇文章主要介紹了Python進(jìn)制轉(zhuǎn)換與反匯編的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-10-10
  • Python三十行代碼實(shí)現(xiàn)簡單人臉識(shí)別的示例代碼

    Python三十行代碼實(shí)現(xiàn)簡單人臉識(shí)別的示例代碼

    這篇文章主要介紹了Python三十行代碼實(shí)現(xiàn)簡單人臉識(shí)別的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • python和opencv構(gòu)建運(yùn)動(dòng)檢測器的實(shí)現(xiàn)

    python和opencv構(gòu)建運(yùn)動(dòng)檢測器的實(shí)現(xiàn)

    這篇文章主要介紹了python和opencv構(gòu)建運(yùn)動(dòng)檢測器的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • JetBrains PyCharm(Community版本)的下載、安裝和初步使用圖文教程詳解

    JetBrains PyCharm(Community版本)的下載、安裝和初步使用圖文教程詳解

    這篇文章主要介紹了JetBrains PyCharm(Community版本)的下載、安裝和初步使用教程,本文圖文并茂給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)和工作具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2020-03-03
  • python實(shí)現(xiàn)俄羅斯方塊

    python實(shí)現(xiàn)俄羅斯方塊

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)俄羅斯方塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06

最新評(píng)論