成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python爬蟲:通過做項目,小編了解了酷狗音樂的加密過程

張憲坤 / 3803人閱讀

摘要:獲取音樂播放列表其實,這就是小編要講的重點,因為就是這部分用到了加密。

1.前言

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

2.獲取音樂播放列表

其實,這就是小編要講的重點,因為就是這部分用到了加密。
我們在搜索欄上輸入我們想聽的音樂,小編輸入:刺客

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

    是不是可以看到我們剛才看到的那些音樂了,而且展開其中一首音樂,可以發(fā)現(xiàn)上述小編講的哪些信息好像都有了呀!
    我們看一下這個請求的網(wǎng)址吧!發(fā)現(xiàn)這是一個get請求,請求數(shù)據(jù)如下:
  • 小編搜索了多首歌曲,發(fā)現(xiàn)它們的請求參數(shù)有一個共同點,那就是除了keyword、clienttime、mid、uuid和signature這幾個參數(shù)值不同之外,其他的都差不多,而clienttime本意就是客戶端時間,它的值是一個時間戳,mid和uuid的值和clienttime一樣的,keyword它的值就是我們搜索的關(guān)鍵詞,現(xiàn)在我們需要的就是搞懂signature這個參數(shù)值到底是什么呀!
  • 小編得到這個signature參數(shù)值的長度為32,覺得應(yīng)該是使用了加密,將一些初始數(shù)據(jù),把它加密得到的,那么怎樣得到這個初始數(shù)據(jù)呢?
  • 小編點擊了這個網(wǎng)站所有的js文件,發(fā)現(xiàn)這個參數(shù)值在這個js文件下
  • 是不是看到了md5這個函數(shù)呀!這應(yīng)該就是那個加密函數(shù)了吧!而o.join("")就應(yīng)該是那個初始數(shù)據(jù)了,o是一個js數(shù)組。
  • 現(xiàn)在知道要獲取o的值,怎樣獲取呢?肯定是使用斷點呀!我們在signature周圍打上相應(yīng)的斷點,然后執(zhí)行斷點操作(這個小編就不一一贅述了,小編使用js斷點還是有一點懵逼的,就不在這里誤導(dǎo)大家了)。

  • 上述圖片就是那個js數(shù)組o中的值了,經(jīng)過對這些數(shù)據(jù)進(jìn)行分析,發(fā)現(xiàn)其實這其中絕大部分值就是我們請求網(wǎng)址的哪些參數(shù)值,讀者覺得呢?
  • 整個加密算法如下:
  • 這也太長了吧!原本小編打斷使用python來模擬這個加密過程,但是現(xiàn)在小編看到這么長,放棄了,但是并不代表加密過程就無法實現(xiàn),小編查閱資料,發(fā)現(xiàn)原來python可以執(zhí)行js語句,我們是不是只需結(jié)合python和js,就能實現(xiàn)這個加密了呢?開干!
  • 代碼如下:
  • 看看運行結(jié)果吧!
  • 是不是這樣就獲取我們想要的數(shù)據(jù)了呀!我們只需使用json解析這些數(shù)據(jù),就可以獲取小編在上面提到的那兩個參數(shù)了?!疽魳返膆ash值和音樂的album_id值】

3. 得到歌曲的下載鏈接

  • 在上述第二點那里講到音樂的hash值和音樂album_id值,為什么要提到它們倆呢?當(dāng)然是為了給第第三點這里做鋪墊的哈!
  • 這個過程小編不會講的很詳細(xì),因為小編今天講的重點是這個加密哈!

    我們點擊一首歌播放,來到上述界面,可以看到歌曲的下載鏈接,這個請求的參數(shù)如下:
  • 這些請求參數(shù)中是不是看到我提到的那兩個參數(shù)呀!
  • 通過分析發(fā)現(xiàn),其實只需以下三個參數(shù)即可請求成功!如下

  • 相應(yīng)的代碼小編就不一一發(fā)出來了,相信聰明的讀者看了小編的本篇博客,定然可以實現(xiàn)酷狗音樂的下載,不懂的問題讀者可以到評論區(qū)問我哦!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/121152.html

相關(guān)文章

  • 源碼分享:爬蟲獲取酷狗付費音樂

    準(zhǔn)備工作:Python3.5+Pycharm 使用到的庫:requests,re,json 步驟: 打開酷狗音樂的官網(wǎng),輸入想要搜索的歌曲(例如《天后》),然后回車搜索,得到如下頁面:showImg(https://segmentfault.com/img/bVbfUCn?w=1063&h=844); 右鍵檢查或者按F12打開開發(fā)者工具,點擊JS選項,查找到如下信息,F(xiàn)ileName就是返回的歌手...

    Code4App 評論0 收藏0
  • 酷狗音樂- Vue / React 全家桶兩種實現(xiàn)

    摘要:引言兩個月前用全家桶實現(xiàn)過一次酷狗音樂,最近又用全家桶重構(gòu)了下,最終成果和的實現(xiàn)基本一致,放個圖手機預(yù)覽戳版本版本。的行為結(jié)構(gòu)表現(xiàn)分離,很明顯,而的分離雖然不是很明顯,但實際上也是有的。發(fā)送指令,最終會到里合并數(shù)據(jù),與中的類似。 引言 兩個月前用 Vue 全家桶實現(xiàn)過一次 酷狗音樂,最近又用 React 全家桶重構(gòu)了下,最終成果和 Vue的實現(xiàn)基本一致,放個圖: showImg(htt...

    hot_pot_Leo 評論0 收藏0
  • 首次公開,整理12年積累博客收藏夾,零距離展示《收藏夾吃灰》系列博客

    摘要:時間永遠(yuǎn)都過得那么快,一晃從年注冊,到現(xiàn)在已經(jīng)過去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時候把他們整理一下了。那是因為收藏夾太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...

    Harriet666 評論0 收藏0
  • python爬蟲項目匯總

    摘要:作者微信公眾號的皮卡丘歡迎大家搜索關(guān)注知乎搶火車票爬網(wǎng)易云音樂爬網(wǎng)易云課堂爬豆瓣爬直播平臺彈幕爬美團(tuán)爬百度爬抖音爬騰訊爬音悅臺爬酷狗爬站綜合總結(jié)類其他歡迎關(guān)注我的微信公眾號的皮卡丘,不定期分享相關(guān)的項目 作者:Charles微信公眾號:Charles的皮卡丘(歡迎大家搜索關(guān)注)知乎:https://zhuanlan.zhihu.com/p/... python搶火車票https://...

    Aklman 評論0 收藏0
  • Python 從零開始爬蟲(七)——實戰(zhàn):網(wǎng)易云音樂評論爬?。ǜ?em>加密算法)

    摘要:通常這種加密都是通過加密的,所以首先要找到這個有加密算法的。追蹤函數(shù),發(fā)現(xiàn)它指向一個叫的函數(shù),仔細(xì)研究許久后大概知道加密算法經(jīng)兩次加密獲得,模式為,偏移量為。 前言 某寶評論區(qū)已經(jīng)成功爬取了,jd的也是差不多的方法,說實話也沒什么好玩的,我是看上它們分析簡單,又沒加密才拿來試手的。如果真的要看些有趣的評論的話,我會選擇網(wǎng)易云音樂,里面匯聚了哲學(xué)家,小說家,story-teller,皮皮...

    plus2047 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<