Ⅰ Python爬蟲 - 基於js逆向抓取得物商品信息(一)
本文章旨在探討Python爬蟲技術,針對基於JavaScript加密的商品信息抓取問題進行深入解析。
目標網站為m.poizon.com,其商品鏈接加密處理。為破譯此加密,首先進行抓包分析,發現數據加密與響應。
利用F12中的Debugger,通過Hook計時器或構造函數方法,定位請求數據與響應數據加密處理的關鍵點。斷點設置於proct/detail請求路徑,以追蹤加密數據流向。
通過跟棧分析,明確數據加密位置,即加密函數接受兩個參數,其中sign作為加密值,spuId為商品ID,第二個參數固定為POST。進一步發現sign加密方式,通過搜索關鍵詞「sign」,並結合斷點調試,確認t值即為所需sign。
深入到加密關鍵函數S中,發現其執行過程,即對t值(spuId與固定字元串組合)進行操作。進一步分析,猜測此操作為MD5加密,驗證後確認其正確性。
至此,請求參數逆向分析完成。後續跟進斷點,發現返回數據解密函數。該函數中,e.data表示加密數據,a為加密請求參數時返回的b.a,c為固定參數"1,hdw1"。
解密函數分析完畢,提取關鍵JS代碼,修改原有加密解密過程,避免Debugger卡死情況。此過程包括加密與解密兩部分,確保數據抓取過程的順利進行。
最終,完成針對基於JavaScript加密的商品信息抓取問題的Python爬蟲實現。請注意,以下介面僅用於合法學習交流,切勿用於非法用途。