專欄系列:http://t.csdnimg.cn/WfCSx
前言
前面介紹的都是爬取 Web 網頁的內容。隨著移動互聯網的發展,越來越多的企業并沒有提供 Web 網頁端的服務,而是直接開發了 App,更多更全的信息都是通過 App 來展示的。那么針對 App 我們可以爬取嗎?當然可以。
App 的爬取相比 Web 端爬取更加容易,反爬蟲能力沒有那么強,而且數據大多是以 JSON 形式傳輸的,解析更加簡單。在 Web 端,我們可以通過瀏覽器的開發者工具監聽到各個網絡請求和響應過程,在 App 端如果想要查看這些內容就需要借助抓包軟件。常用的抓包軟件有 WireShark、Filddler、Charles、mitmproxy、AnyProxy 等,它們的原理基本是相同的。我們可以通過設置代理的方式將手機處于抓包軟件的監聽之下,這樣便可以看到 App 在運行過程中發生的所有請求和響應了,相當于分析 Ajax 一樣。如果這些請求的 URL、參數等都是有規律的,那么總結出規律直接用程序模擬爬取即可,如果它們沒有規律,那么我們可以利用另一個工具 mitmdump 對接 Python 腳本直接處理 Response。另外,App 的爬取肯定不能由人來完成,也需要做到自動化,所以我們還要對 App 進行自動化控制,這里用到的庫是 Appium。
本章將介紹 Charles、mitmproxy、mitmdump、Appium 等庫的用法。掌握了這些內容,我們可以完成絕大多數 App 數據的爬取。
Charles 的使用
Charles 是一個網絡抓包工具,