如何抓取APP上的信息?
網頁上的信息有很多方式可以抓取,但是APP上的信息要如何抓取呢?比如手機淘寶上有很多商品,這些商品的信息如何抓取呢?有什麼工具推薦嗎?
樓上正解
1、手機淘寶核心還是一個WEB頁面:https://m.taobao.com/#index
2、有很多資訊類的APP,核心都是一個WEB頁面。直接用爬蟲的方法抓就可以了。
3、非WEB頁面的APP,用APP自動化的一些東西試試(我沒試過,不知道能不能分析到展示標籤的內容)4、不然就只有抓包了。網頁有現成的python,java框架,沒有加密等等,難度比較小。
對app來說,要破解加密演算法,沒有成熟的演算法和方案,相對難一些。
最近剛好抓取了一個直播類的app,講一下大概的思路和流程。
目標:抓取某手的首頁,音樂,評論等,存入資料庫中。
1、工具準備
charlse 代理抓包利器
jadx apk反編譯
xpoxed hook大法工具 ida mysql 數據存儲2、抓包,官網下載 charlse安裝文件,手機設置8888代理,直接抓包找入口,如下圖。通過多次分析URL發現請求參數分為兩部分,一個是在url後面拼接的參數,一部分在body中的,分析參數信息之後發現在body欄位中有一個sig,這個就是簽名信息了。
3、發現有簽名參數,需要反編譯apk,找到sig的演算法,apktools+jd-gui,通過全局搜索「sig」,找到調用位置。
直接找介面實例有點麻煩,直接上xpoxed,列印這個參數的類名稱即可,發現實現類com.yxcorp.gifshow.retrofit.c。看到了獲取sig欄位的方法方實現,直接將傳入的兩個map參數結構的key和value進行拼接,然後進行排序,最後調用CPU.getClock方法獲取加密信息即可。繼續看看這個加密方法。
果然加密演算法是放在native里libcore.so。不多說直接拖入IDA看看,不過這個so並沒有做什麼保護措施,可以直接拿來用。
4、模擬參數請求,抓取數據,核心介面代碼如下:
5、獲取數據,整理後:
對app抓取信息有疑問,或者有app抓取需求的朋友,歡迎私信。
fiddler 安裝一下 https 證書然後手機設置代理抓包
推薦閱讀:
※如何評價《經濟學人》新推出的雙語App?
※如何評價APP喜馬拉雅FM?
※same 的留存率有多高? 留存率高(或者說用戶能長時間使用 same)的原因是什麼?
※快看漫畫中的部分漫畫是不是很low?大家來說說自己的看法。?
※如何評價應用最右?
TAG:移動應用 | 應用程序Application | 網頁抓取 | 手機淘寶 | 網頁爬蟲 |