這篇文章將為大家詳細講解有關搜索頁的window.__DATA__的解密是怎樣的,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
成都網站建設哪家好,找創新互聯建站!專注于網頁設計、成都網站建設、微信開發、小程序制作、集團企業網站制作等服務項目。核心團隊均擁有互聯網行業多年經驗,服務眾多知名企業客戶;涵蓋的客戶類型包括:成都茶樓設計等眾多領域,積累了大量豐富的經驗,同時也獲得了客戶的一致稱揚!
上次發了破解知乎模擬登陸的最新版之后,很多人看了都說好,唯獨沒人給我點贊,以后還是麻煩大家,如果看到對你有用的文章,可以點點贊,支持下作者哈。
這次給大家分享的是豆瓣的讀書搜索頁
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
以前還以為豆瓣只是給新手爬蟲練手的,直到我發現了這個頁面,才發現是我錯了,原來豆瓣也有加密的,有可能是為了防止新手亂爬吧,一看到這個就覺得爬蟲越來越不好做了,隨便一個頁面都有 js 加密。
而且我覺得比上次的知乎的還難點,但是可能就只有搜索頁是加密的,其他的直接找全部圖書的都是直接放在html源碼的。
廢話不多說,生死看淡,不服就干!!!開始分析。
1. 尋找搜索內容
這個圖書數據是直接加密的,隱藏在了html頁面,如果你需要找的話,估計還得找很長時間,我是從一位大佬告訴我的,就在下面這個頁面的 window.__DATA__ 里面
不過如果需要自己找的話,還是可以的,需要點時間,自己細心點找,對于這個有經驗了,以后遇到那些找不到數據的都可以嘗試在本頁面的html里面找。
2. 找解密位置
直接搜 window.__DATA__ 即可
上面的就是html內容,所以是下面一個,或者你不信的話可以自己嘗試下。
打斷點,一看,果不其然,數據都出來了
接著就是自己慢慢調試了,點擊下一步自己慢慢調試,看看用到的方法
走了幾步會很容易發現這個,這個就可以說是上面那個方法的解密步驟了
接下來就是自己看這些 JS 的內容了,不算難,如果你厲害的話,能看出他加密使用的方法的話,你可以直接使用 Python 語言的相關加密方法,如果看不懂,你就需要自己扣出相關的 JS 了,
如果你初學 JS 的話,學過了 JS 原型的屬性,那么非常推薦你解一下,因為這里的 JS 分布在兩個文件內,不像上次知乎那樣直接一段函數就解決了那么簡單,并且扣出來了還需要自己改下函數之間或者對象之間的原型,總之很復雜,這個只能意會不能言傳,篇幅有限,也不可能全部一個一個扣出來并和你說怎么改。
還是得自己實踐一次才能感受到,我最后花了幾天時間,扣出了1500+行代碼
3. 用Python運行
這里扣出了 JS 使用 python 的 execjs 執行,會出現一個問題
UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 41: illegal multibyte sequence
這里是因為里面使用了一個 TextIOWrapper 對象,里面沒有指定編碼類型,使用了默認的 cp936 也就是 gbk 編碼,使讀取字符出錯,我們可以在這個類上面初始化改下編碼類型為 utf-8 即可運行
再次運行,即可成功。
關于搜索頁的window.__DATA__的解密是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
網站名稱:搜索頁的window.__DATA__的解密是怎樣的
地址分享:http://m.2m8n56k.cn/article6/jojiig.html
成都網站建設公司_創新互聯,為您提供動態網站、關鍵詞優化、搜索引擎優化、網站建設、App設計、網站收錄
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯