最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

1.前言

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

請(qǐng)?zhí)砑訄D片描述

2.獲取音樂(lè)播放列表

其實(shí),這就是小編要講的重點(diǎn),因?yàn)榫褪沁@部分用到了加密。
我們?cè)谒阉鳈谏陷斎胛覀兿肼?tīng)的音樂(lè),小編輸入:刺客

請(qǐng)?zhí)砑訄D片描述

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

請(qǐng)?zhí)砑訄D片描述

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

請(qǐng)?zhí)砑訄D片描述

  • 小編搜索了多首歌曲,發(fā)現(xiàn)它們的請(qǐng)求參數(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ù)值的長(zhǎng)度為32,覺(jué)得應(yīng)該是使用了加密,將一些初始數(shù)據(jù),把它加密得到的,那么怎樣得到這個(gè)初始數(shù)據(jù)呢?
  • 小編點(diǎn)擊了這個(gè)網(wǎng)站所有的js文件,發(fā)現(xiàn)這個(gè)參數(shù)值在這個(gè)js文件下

請(qǐng)?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)呀!我們?cè)趕ignature周圍打上相應(yīng)的斷點(diǎn),然后執(zhí)行斷點(diǎn)操作(這個(gè)小編就不一一贅述了,小編使用js斷點(diǎn)還是有一點(diǎn)懵逼的,就不在這里誤導(dǎo)大家了)。

請(qǐng)?zhí)砑訄D片描述

請(qǐng)?zhí)砑訄D片描述

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

請(qǐng)?zhí)砑訄D片描述

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

請(qǐng)?zhí)砑訄D片描述

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

請(qǐng)?zhí)砑訄D片描述

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

在這里插入圖片描述

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

3. 得到歌曲的下載鏈接

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

請(qǐng)?zhí)砑訄D片描述

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

請(qǐng)?zhí)砑訄D片描述

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

請(qǐng)?zhí)砑訄D片描述

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

請(qǐng)?zhí)砑訄D片描述

請(qǐng)?zhí)砑訄D片描述

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

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

相關(guān)文章

  • Python使用struct處理二進(jìn)制的實(shí)例詳解

    Python使用struct處理二進(jìn)制的實(shí)例詳解

    這篇文章主要介紹了Python使用struct處理二進(jìn)制的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文大家能掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-09-09
  • python3中_from...import...與import?...之間的區(qū)別詳解(包/模塊)

    python3中_from...import...與import?...之間的區(qū)別詳解(包/模塊)

    Python編碼第一步是導(dǎo)入模塊,有時(shí)候用import?***有時(shí)候用from...import,下面這篇文章主要給大家介紹了關(guān)于python3中_from...import...與import?...之間區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • python中的&&及||的實(shí)現(xiàn)示例

    python中的&&及||的實(shí)現(xiàn)示例

    這篇文章主要介紹了python中的&&及||的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python目標(biāo)檢測(cè)yolo1?yolo2?yolo3和SSD網(wǎng)絡(luò)結(jié)構(gòu)對(duì)比

    python目標(biāo)檢測(cè)yolo1?yolo2?yolo3和SSD網(wǎng)絡(luò)結(jié)構(gòu)對(duì)比

    這篇文章主要為大家介紹了python目標(biāo)檢測(cè)yolo1?yolo2?yolo3和SSD網(wǎng)絡(luò)結(jié)構(gòu)對(duì)比,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 詳解Python圖像處理庫(kù)Pillow常用使用方法

    詳解Python圖像處理庫(kù)Pillow常用使用方法

    PIL(Python Imaging Library)是Python一個(gè)強(qiáng)大方便的圖像處理庫(kù),只支持到Python2.7。這篇文章主要介紹了Python圖像處理庫(kù)Pillow常用使用方法,需要的朋友可以參考下
    2019-09-09
  • 詳解利用python識(shí)別圖片中的條碼(pyzbar)及條碼圖片矯正和增強(qiáng)

    詳解利用python識(shí)別圖片中的條碼(pyzbar)及條碼圖片矯正和增強(qiáng)

    這篇文章主要介紹了詳解利用python識(shí)別圖片中的條碼(pyzbar)及條碼圖片矯正和增強(qiáng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 一文帶你手撕Python之散列類型

    一文帶你手撕Python之散列類型

    這篇文章主要介紹了Python字典的定義、操作方法和集合的基本概念,字典以鍵值對(duì)形式存儲(chǔ)數(shù)據(jù),可通過(guò)鍵訪問(wèn)值,操作包括增刪改查等,集合是無(wú)序不重復(fù)的數(shù)據(jù)結(jié)構(gòu),適用于去重和集合運(yùn)算,需要的朋友可以參考下
    2024-09-09
  • 手把手教你如何安裝Pycharm(詳細(xì)圖文教程)

    手把手教你如何安裝Pycharm(詳細(xì)圖文教程)

    這篇文章主要介紹了手把手教你如何安裝Pycharm(詳細(xì)圖文教程),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Python中的異步:async?和?await以及操作中的事件循環(huán)、回調(diào)和異常

    Python中的異步:async?和?await以及操作中的事件循環(huán)、回調(diào)和異常

    在現(xiàn)代編程中,異步操作在處理?I/O?密集型任務(wù)時(shí),可以顯著提高程序的性能和響應(yīng)速度,Python?提供了?async?和?await?關(guān)鍵字,使得編寫異步代碼變得更加直觀和簡(jiǎn)潔,在這篇文章中,我們將深入探討?Python?的異步操作,并通過(guò)實(shí)際代碼示例來(lái)說(shuō)明其使用方法
    2024-12-12
  • Keras使用ImageNet上預(yù)訓(xùn)練的模型方式

    Keras使用ImageNet上預(yù)訓(xùn)練的模型方式

    這篇文章主要介紹了Keras使用ImageNet上預(yù)訓(xùn)練的模型方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05

最新評(píng)論

马边| 德化县| 英吉沙县| 青浦区| 禄丰县| 泉州市| 英德市| 峨边| 莲花县| 武定县| 连云港市| 盐边县| 竹北市| 武义县| 海阳市| 冕宁县| 闸北区| 沽源县| 报价| 长沙市| 通城县| 牙克石市| 苍溪县| 吉木乃县| 乐山市| 德格县| 旺苍县| 松潘县| 贺兰县| 新巴尔虎右旗| 茶陵县| 抚宁县| 阳城县| 秦皇岛市| 任丘市| 保康县| 富宁县| 安徽省| 阜宁县| 通辽市| 松滋市|