首頁>技術>

如何獲取手機app內資料來源資訊?接下來以taptap手機app為例,獲取單機排行榜資料。

配置環境

首先在電腦上安裝好 mitmproxy ,安裝方法可以參考官網,以下是以macOS為例。

brew install mitmproxy

python3 和 requests 庫, openpyxl 庫,參考如下。

pip3 install requests pip3 install openpyxl

還要引入一些系統庫

import requestsfrom openpyxl import Workbookfrom openpyxl.drawing.image import Imageimport osimport randomimport time

將手機和電腦連入同一個 wifi , 並在手機上設定網路代理(一般在設定>>WLAN>>當前詳情 內)。設定代理伺服器主機名為電腦的地址,服務埠為8080。

手機上用瀏覽器開啟網頁,安裝證書。

資料獲取

安裝好 mitmproxy 之後, 直接在電腦命令終端中執行 mitmproxy 。

然後在手機上開啟TapTap應用,選擇發現->單機。可以在電腦終端看到許多http請求。

在手機上多翻幾頁,多點幾個連結詳情,可以發現 from 引數是翻頁引數。那麼在 python3 中如何獲取呢?參考如下

使用 requests 的 get 方法可以傳入 hearders 和 引數。因為返回的是 json 可以直接呼叫 json() 方法解析結構。

資料分析

通過檢視返回 json 裡的內容和手機應用內的顯示資料,大致可以找出對應資料的欄位。

一起看下在 python 中如何處理的吧。

資料儲存

這次我們用 Excel 儲存資料,用到 openpyxl 庫的處理。另外,我們還可以插入 icon 圖示,可以先把圖片下載到 icon 資料夾中,再讀取資料時把圖片插入表中。

先初始化表格第一行的內容,新建一個 icon 資料夾。

接著在讀取每一條資料時,下載 icon 圖片,將對應資料插入表中。

結果預覽:

小結

首先通過 mitmproxy 代理獲取資料鏈接和引數,接著對用手機的資料查詢我們需要的引數,編寫對應的處理程式碼,儲存在 excel 表中。

本文僅供個人交流學習使用,請勿用於其他用途。

最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Kubernetes V1.16.2部署Dashboard V2.0(beta5)