這篇文章將為大家詳細(xì)講解有關(guān)搜索頁(yè)的window.__DATA__的解密是怎樣的,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
成都網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁(yè)設(shè)計(jì)、成都網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站制作等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:成都茶樓設(shè)計(jì)等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時(shí)也獲得了客戶的一致稱揚(yáng)!
上次發(fā)了破解知乎模擬登陸的最新版之后,很多人看了都說(shuō)好,唯獨(dú)沒(méi)人給我點(diǎn)贊,以后還是麻煩大家,如果看到對(duì)你有用的文章,可以點(diǎn)點(diǎn)贊,支持下作者哈。
這次給大家分享的是豆瓣的讀書(shū)搜索頁(yè)
https://book.douban.com/subject_search?search_text=%E7%BD%91%E7%BB%9C%E6%98%AF%E6%80%8E%E6%A0%B7%E8%BF%9E%E6%8E%A5%E7%9A%84&cat=1001
以前還以為豆瓣只是給新手爬蟲(chóng)練手的,直到我發(fā)現(xiàn)了這個(gè)頁(yè)面,才發(fā)現(xiàn)是我錯(cuò)了,原來(lái)豆瓣也有加密的,有可能是為了防止新手亂爬吧,一看到這個(gè)就覺(jué)得爬蟲(chóng)越來(lái)越不好做了,隨便一個(gè)頁(yè)面都有 js 加密。
而且我覺(jué)得比上次的知乎的還難點(diǎn),但是可能就只有搜索頁(yè)是加密的,其他的直接找全部圖書(shū)的都是直接放在html源碼的。
廢話不多說(shuō),生死看淡,不服就干!??!開(kāi)始分析。
1. 尋找搜索內(nèi)容
這個(gè)圖書(shū)數(shù)據(jù)是直接加密的,隱藏在了html頁(yè)面,如果你需要找的話,估計(jì)還得找很長(zhǎng)時(shí)間,我是從一位大佬告訴我的,就在下面這個(gè)頁(yè)面的 window.__DATA__ 里面
不過(guò)如果需要自己找的話,還是可以的,需要點(diǎn)時(shí)間,自己細(xì)心點(diǎn)找,對(duì)于這個(gè)有經(jīng)驗(yàn)了,以后遇到那些找不到數(shù)據(jù)的都可以嘗試在本頁(yè)面的html里面找。
2. 找解密位置
直接搜 window.__DATA__ 即可
上面的就是html內(nèi)容,所以是下面一個(gè),或者你不信的話可以自己嘗試下。
打斷點(diǎn),一看,果不其然,數(shù)據(jù)都出來(lái)了
接著就是自己慢慢調(diào)試了,點(diǎn)擊下一步自己慢慢調(diào)試,看看用到的方法
走了幾步會(huì)很容易發(fā)現(xiàn)這個(gè),這個(gè)就可以說(shuō)是上面那個(gè)方法的解密步驟了
接下來(lái)就是自己看這些 JS 的內(nèi)容了,不算難,如果你厲害的話,能看出他加密使用的方法的話,你可以直接使用 Python 語(yǔ)言的相關(guān)加密方法,如果看不懂,你就需要自己扣出相關(guān)的 JS 了,
如果你初學(xué) JS 的話,學(xué)過(guò)了 JS 原型的屬性,那么非常推薦你解一下,因?yàn)檫@里的 JS 分布在兩個(gè)文件內(nèi),不像上次知乎那樣直接一段函數(shù)就解決了那么簡(jiǎn)單,并且扣出來(lái)了還需要自己改下函數(shù)之間或者對(duì)象之間的原型,總之很復(fù)雜,這個(gè)只能意會(huì)不能言傳,篇幅有限,也不可能全部一個(gè)一個(gè)扣出來(lái)并和你說(shuō)怎么改。
還是得自己實(shí)踐一次才能感受到,我最后花了幾天時(shí)間,扣出了1500+行代碼
3. 用Python運(yùn)行
這里扣出了 JS 使用 python 的 execjs 執(zhí)行,會(huì)出現(xiàn)一個(gè)問(wèn)題
UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 41: illegal multibyte sequence
這里是因?yàn)槔锩媸褂昧艘粋€(gè) TextIOWrapper 對(duì)象,里面沒(méi)有指定編碼類型,使用了默認(rèn)的 cp936 也就是 gbk 編碼,使讀取字符出錯(cuò),我們可以在這個(gè)類上面初始化改下編碼類型為 utf-8 即可運(yùn)行
再次運(yùn)行,即可成功。
關(guān)于搜索頁(yè)的window.__DATA__的解密是怎樣的就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
網(wǎng)站名稱:搜索頁(yè)的window.__DATA__的解密是怎樣的
地址分享:http://jinyejixie.com/article6/jojiig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化、搜索引擎優(yōu)化、網(wǎng)站建設(shè)、App設(shè)計(jì)、網(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)