這篇文章主要介紹了python爬蟲之如何快速對(duì)js內(nèi)容進(jìn)行破解,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
在華容等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營(yíng)銷,成都外貿(mào)網(wǎng)站建設(shè)公司,華容網(wǎng)站建設(shè)費(fèi)用合理。前言
一般js破解有兩種方法,一種是用Python重寫js邏輯,一種是利用第三方庫(kù)來(lái)調(diào)用js內(nèi)容獲取結(jié)果。這兩種方法各有利弊,第一種方法性能好,但對(duì)js和Python要求掌握比較高;第二種方法快捷便利,對(duì)一些復(fù)雜js加密很有效。這次我們就用第三方庫(kù)來(lái)進(jìn)行js破解。
目標(biāo)網(wǎng)站
本次網(wǎng)站是[企名片],網(wǎng)站對(duì)展示的數(shù)據(jù)進(jìn)行了加密,所以直接找根本找不到。
目標(biāo)url:https://www.qimingpian.com/finosda/project/pinvestment
js分析調(diào)試工具
對(duì)js進(jìn)行分析調(diào)試的瀏覽器一定要用谷歌瀏覽器,用這個(gè)來(lái)調(diào)試測(cè)試真的很方便。首先我們按F12打開開發(fā)者工具,選到network選項(xiàng)并勾選preserve log 選項(xiàng),然后輸入網(wǎng)址url來(lái)抓包。此時(shí)你會(huì)發(fā)現(xiàn)網(wǎng)頁(yè)源碼里沒有展示內(nèi)容,在搜索也找不到我們看到的內(nèi)容,那說(shuō)明網(wǎng)頁(yè)內(nèi)容是被加密處理了。
此時(shí)你可以一個(gè)個(gè)看每個(gè)包找找有什么可疑的內(nèi)容,當(dāng)然我們一般會(huì)先看xhr里的內(nèi)容,一眼我們就發(fā)現(xiàn)里面都有encrypt_data這個(gè)數(shù)據(jù),看著很像。
我們ctrl加shift加f鍵搜索encrypt_data,找到第一個(gè)js里的encrypt_data內(nèi)容,然后翻到下面return e.encrypt_data這一行來(lái),打上斷點(diǎn)看看這會(huì)是什么內(nèi)容。(一般我們搜索到return我們搜索的內(nèi)容都要打上斷點(diǎn)來(lái)看看,八九不離十的)
打好斷點(diǎn)后我們刷新頁(yè)面來(lái)觀察,選中e.encrypt_data右鍵有個(gè)什么什么in console的,點(diǎn)這個(gè)會(huì)在下面出現(xiàn)我們選中的內(nèi)容是什么。然后把后面的Object(d.a)(e.encrypt_data)用同樣的方法來(lái)試下,發(fā)現(xiàn)沒有網(wǎng)頁(yè)的內(nèi)容啊。
這里一定要注意我們打的斷點(diǎn),在按一次,重復(fù)上面的步驟會(huì)發(fā)現(xiàn),Object(d.a)(e.encrypt_data)這不就是我們要的內(nèi)容嗎!e.encrypt_data這個(gè)就是我們xhr里面的那個(gè)encrypt_data,Object(d.a)是一個(gè)函數(shù),就是這個(gè)函數(shù)對(duì)內(nèi)容進(jìn)行了加密,我們只要破解這個(gè)函數(shù)就OK了。
選中Object(d.a)上面會(huì)出現(xiàn)它在哪里,點(diǎn)擊下跳轉(zhuǎn)過(guò)去。可以發(fā)現(xiàn)函數(shù)返回了一個(gè)json對(duì)象。這個(gè)返回結(jié)果包括1個(gè)s函數(shù),參數(shù)里只有a.a.decode(t)這一個(gè)變量,其余都是常量。
所有我們用同樣的方法找到s函數(shù)的具體內(nèi)容和a.a.decode()這個(gè)函數(shù)的具體內(nèi)容。方法就是我們?cè)趓eturn JSON.parse這里重新打斷點(diǎn),點(diǎn)擊斷點(diǎn)的那個(gè)下一步,然后找上述函數(shù)的內(nèi)容。
s函數(shù)
a.a.decode()
利用webstorm編輯器來(lái)運(yùn)行上述函數(shù)進(jìn)行調(diào)試
1 首先我們安裝Nodejs,去官網(wǎng)下載安裝,這是js環(huán)境。這個(gè)自己搜索個(gè)安裝教程吧,這里不過(guò)多介紹了。
2 WebStorm 安裝后激活,教程網(wǎng)上很多,大家自行搜索。它使用方式與 PyCharm 很類似。
我們把上述所需要的函數(shù)全部扣下來(lái)放到webstorm中,然后運(yùn)行。注意有的函數(shù)里面會(huì)有沒有定義的參數(shù),遇到這些我們幾句在谷歌瀏覽器里一個(gè)個(gè)找就可以了,一般會(huì)有很多常量,直接替換掉。
然后我們調(diào)用上述方法可以看到能夠正常獲取數(shù)據(jù)了,這里js里的部分方法我重新命名了,注意下,下面是部分代碼片段。
最后用 Python 去調(diào)用解密函數(shù)就行了,這里出于對(duì)網(wǎng)站保護(hù)就不直接貼完整代碼了。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“python爬蟲之如何快速對(duì)js內(nèi)容進(jìn)行破解”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司,關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、網(wǎng)站設(shè)計(jì)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
分享題目:python爬蟲之如何快速對(duì)js內(nèi)容進(jìn)行破解-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://jinyejixie.com/article2/dhopoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、響應(yīng)式網(wǎng)站、全網(wǎng)營(yíng)銷推廣、Google、靜態(tài)網(wǎng)站、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容