上一篇文章:Python3網絡爬蟲實戰---六、Web庫的安裝:Flask、Tornado
下一篇文章:
除了 Web 網頁,爬蟲也能夠對 APP 的數據進行抓取,APP 中的頁面要加載出來,首先須要獲取數據,那麼這些數據通常是經過請求服務器的接口來獲取的,因爲 APP 端沒有像瀏覽器同樣的開發者工具直接比較直觀地看到後臺的請求,因此對 APP 來講,它的數據抓取主要用到一些抓包技術。瀏覽器
本書介紹的抓包工具備 Charles、MitmProxy、MitmDump,APP 一些簡單的接口咱們經過 Charles 或 MitmProxy 分析找出規律就能夠直接用程序模擬來抓取了,可是若是遇到更復雜的接口咱們就須要利用 MitmDump 對接Python來對抓取到的請求和響應進行實時處理和保存,另外既然要作規模採集就須要自動化 APP 的操做而不是人工去採集,因此這裏還須要一個工具叫作 Appium,它能夠像 Selenium 同樣對 APP 進行自動化控制,如自動化模擬APP的點擊、下拉等操做。服務器
本節咱們來了解一下 Charles、MitmProxy、MitmDump、Appium 的安裝方法。網絡
Charles 是一個網絡抓包工具,在作 APP 抓包的時候會用到,相比 Fiddler 來講,Charles 的功能更爲強大,並且跨平臺支持更好,因此在這裏咱們選用 Charles 來做爲主要的移動端抓包工具,用於分析移動 APP 的數據包,輔助完成 APP 數據抓取工做。app
Charles 的官網是:https://www.charlesproxy.com,咱們能夠在官網下載最新穩定版本,連接爲:https://www.charlesproxy.com/...,它支持 Windows、Linux、Mac 三大平臺。工具
如今不少頁面都在向 HTTPS 方向發展,HTTPS 通訊協議應用愈來愈普遍,若是一個 APP 通訊應用了 HTTPS 協議,那它通訊的數據都會是被加密的,常規的截包方法是沒法識別請求內部的數據的。
安裝完成以後若是咱們想要作 HTTPS 抓包的話還須要配置一下相關 SSL 證書,若是不配置的話沒法抓取 HTTPS 請求。網站
點擊 Help->SSL Proxying->Install Charles Root Certificate,便可進入證書的安裝頁面。
接下來找到 Charles 的證書雙擊,將信任設置爲始終信任便可,如圖 1-48 所示:加密
圖 1-48 證書配置
這樣就成功安裝了證書。spa
若是你的手機是 iOS 系統,能夠按照下面的操做進行證書配置。
首先查看一下電腦的 Charles 代理是是否開啓的,點擊 Proxy->Proxy Settings 便可打開當前代理設置頁面,確保當前的 HTTP 代理是開啓的,如圖 1-49 所示:代理
圖 1-49 代理設置
例如這裏的代理端口爲 8888,也能夠自行修改。
接下來將手機和電腦連在同一個局域網下,例如當前電腦的 IP 爲 192.168.1.76,那麼首先設置手機的代理爲 192.168.1.76:8888,設置如圖 1-50 所示:接口
圖 1-50 代理設置
設置完畢以後電腦上就會出現一個提示窗口,詢問是否信任此設備,如圖 1-51 所示:
圖 1-51 提示窗口
點擊 Allow 便可,這樣手機就和 PC 連在了同一個局域網內了,並且設置了 Charles 的代理,這樣 Charles 便可抓取到流經 APP 的數據包了。
接下來咱們再安裝 Charles 的 HTTPS 證書。
在電腦上打開 Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser,如圖 1-52 所示:
圖 1-52 證書安裝頁面入口
便可看到以下提示,如圖 1-53 所示:
它提示咱們在手機上設置好 Charles 的代理,咱們剛纔已經設置好了,而後在手機的瀏覽器中打開 chls.pro/ssl 下載證書,咱們在手機上打開這個連接。
打開以後便會彈出證書的安裝頁面,如圖 1-54 所示:
圖 1-54 證書安裝頁面
咱們點擊安裝,而後輸入密碼便可完成安裝,如圖 1-55 所示:
圖 1-55 安裝成功頁面
若是你的 iOS 版本是 10.3 如下的話,此處信任 CA 證書的流程就已經完成了。
若是你的 iOS 版本是 10.3 及以上,還須要在設置->通用->關於本機->證書信任設置將證書添加徹底信任,如圖 1-56 所示:
在這裏將 Charles 的證書的徹底信任開關打開便可,如圖 1-56 所示:
圖 1-56 證書信任設置
這樣 iOS 上配置信任 CA 證書的流程就結束了。
若是你的手機是 Android 系統,能夠按照下面的操做進行證書配置。
Android 一樣須要設置代理爲 Charles 的代理,如圖 1-57 所示:
圖 1-57 代理設置
設置完畢以後電腦上就會出現一個提示窗口,詢問是否信任此設備,如圖 1-58 所示:
圖 1-58 提示窗口
點擊 Allow 便可。
接下來像 iOS 設備同樣,在手機瀏覽器上打開 chls.pro/ssl,這時會出現一個提示框,如圖 1-59 所示:
evernotecid://D603D29C-DFBA-4C04-85E9-CCA3C33763F6/appyinxiangcom/23852268/ENResource/p75
圖 1-59 證書安裝頁面
咱們爲證書添加一個名稱,而後點擊肯定便可完成證書的安裝。
本文介紹了 Charles 的安裝及證書配置過程,後文咱們會介紹 Charles 的基本使用方法。