python可视化分析网易云音乐评论_网易云音乐热门评论api分析
網(wǎng)上有現(xiàn)成的例子我就扒過來了!!
title: 網(wǎng)易云評(píng)論api分析
date: 2018-12-24 20:54:46
tags: [python]
網(wǎng)易云音樂是個(gè)好地方,里面各個(gè)都是人才,特別是評(píng)論區(qū)……
所以我就想把評(píng)論爬下來看看,下面記錄一下分析api的過程與結(jié)果。
過程大概如下:
定位到獲取評(píng)論的請求
分析評(píng)論請求方式
用python獲取評(píng)論
定位評(píng)論請求
廢話少說,F12,在網(wǎng)頁中隨便找一首歌,url形如: https://music.163.com/#/song?id=28828076,抓包。
待頁面加載完成之后,隨便找條評(píng)論搜索,定位到獲取評(píng)論的那條請求,如下圖:
可以看到這條請求是發(fā)向https://music.163.com/weapi/v1/resource/comments/R_SO_4_28828076?csrf_token=的,而其中的R_SO_4_后面其實(shí)就是歌曲的id。
分析請求
請求中發(fā)送的數(shù)據(jù)如下圖,看一眼,啥都看不懂,肯定是加密過了。
從表單中的名稱猜測出一個(gè)是加密后的內(nèi)容,另一個(gè)是加密密鑰。
下面要找到在哪里加密的信息,然后進(jìn)一步找到加密方法,這樣我們就可以用爬蟲來模擬了。
在哪加密
同樣,在network tab下面搜索encSecKey,搜到了一個(gè)js文件中的兩個(gè)函數(shù)都有encSecKey。
下面列出這兩個(gè)函數(shù):
函數(shù)一
函數(shù)二
函數(shù)二調(diào)用了window.asrsea,而window.asrsea又在函數(shù)一中被賦值為d。
加密參數(shù)
在window.asrsea的參數(shù)表中,發(fā)現(xiàn)有兩個(gè)硬編碼的列表經(jīng)過某個(gè)函數(shù)轉(zhuǎn)換后傳入到window.asrsea,也就是傳入到d中,在d打下斷點(diǎn),發(fā)現(xiàn)經(jīng)過轉(zhuǎn)換后的傳入到d中的參數(shù)如下:
現(xiàn)在兩個(gè)常數(shù)e,g都已經(jīng)確定了,經(jīng)過多次斷點(diǎn),發(fā)現(xiàn)f竟然也是常數(shù)。
那么現(xiàn)在傳入加密函數(shù)d中的所有參數(shù)都已經(jīng)確定了,接下來要分析出來怎么用這些參數(shù)加密數(shù)據(jù),然后發(fā)送到服務(wù)器。
加密策略
加密策略是使用AES加密請求數(shù)據(jù),然后用RSA加密AES密鑰,我嘗試分析了一下,發(fā)現(xiàn)分析得頭皮發(fā)麻,后面在github找到了。。。。。鏈接在這:網(wǎng)易云新版webapi分析
代碼
代碼是python2寫的,改了一下,python3能用:
經(jīng)過測試Cookies中只有帶有_ntes_nuid就行了。
headers:
參考資料
總結(jié)
以上是生活随笔為你收集整理的python可视化分析网易云音乐评论_网易云音乐热门评论api分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: chrome控制台如何把vw显示成px_
- 下一篇: python3 class init_p