Python3.x+Fiddler抓取APP數據

Python3.x+Fiddler抓取APP數據

隨着移動互聯網的市場份額逐步擴大,手機APP已經佔據我們的生活,以往的數據分析都藉助於爬蟲爬取網頁數據進行分析,但是新興的產品有的只有APP,並沒有網頁端這對於想要提取數據的我們就遇到了些問題,本章以豆果美食APP爲例給大家演示如何提取手機的數據。
安裝Fiddler
Fiddler官網下載地址:http://www.fiddler2.com/fiddl...,我是直接在百度搜索的下載版本

安裝過程就是下一步下一步最後完成即可,安裝好了以後需要配置一些內容

設置允許抓取HTTPS信息包
打開下載好的fiddler,找到 Tools -> Options,然後在HTTPS的工具欄下勾選Decrpt HTTPS traffic,在新彈出的選項欄下勾選Ignore server certificate errors。這樣,fiddler就會抓取到HTTPS的信息包
Python3.x+Fiddler抓取APP數據

設置允許外部設備發送HTTP/HTTPS到fiddler
在Connections選項欄下勾選Allow remote computers to connect
Python3.x+Fiddler抓取APP數據
連通手機與電腦
想要抓取手機APP上的數據一大難點就在於,你並不知道他們數據請求的接口地址是多少,在PC端想要抓取一個網站的數據只要訪問網址,用抓包工具就可以知道了,所以我們第一步先把環境配置好,就是在手機上訪問地址(發送任何網絡請求)都可以在電腦上通過Fiddler抓取到。

第一步:先保障手機和電腦上面連接網絡,我這裏是電腦連的網線,我單獨安裝了一個Wi-Fi共享精靈,手機(iphone6s)連接上共享出去的wifi
Python3.x+Fiddler抓取APP數據
第二步:查看電腦IP地址
先在電腦上打開cmd,輸入ipconfig查看IP地址
Python3.x+Fiddler抓取APP數據

這裏要注意IP地址用的是無線網絡連接這個IP地址,不是本地連接的IP地址(坑點)

第三步:手機設置HTTP代理
打開手機無線網絡連接,選擇已經連接的網絡連接,點擊一個小圓圈歎號進入可以看到下圖,選擇配置代理,進入後把剛剛的IP地址輸入進去,端口就是Fiddler中設置的8888即可。
Python3.x+Fiddler抓取APP數據

第四步:手機和電腦端安裝證書
電腦端訪問:http://localhost:8888/進行安裝
Python3.x+Fiddler抓取APP數據

手機訪問電腦的IP地址加端口8888即可,我這裏的地址是:http://192.168.23.1:8888
Python3.x+Fiddler抓取APP數據

第五步:測試通過
最後就是來測試下,打開手機隨便一個APP,去訪問裏面的內容,這時打開fiddler可以看到所發出的網絡請求,我這裏打開的是豆果美食APP
Python3.x+Fiddler抓取APP數據

分析手機APP請求地址
通過觀察fiddler中的請求可以發現http://api.douguo.net/persona...,這個就是請求首頁中的部分數據,直接把地址複製到網頁中可以看到返回的JSON數據
Python3.x+Fiddler抓取APP數據
其實這部分內容是最重要也是最困難的一個環節,考驗你工作年限的時候到了,要從中剝離出正確的API請求,並分析API中的數據結構,爲後續數據分析做準備。

Python3.x爬蟲獲取數據
這裏直接通過urllib.request進行請求即可,這裏並沒有使用框架,代碼如下:

import urllib.request

向指定的url地址發送請求,並返回服務器響應的類文件對象

response = urllib.request.urlopen("http://api.douguo.net/personalized/home/0/20")

服務器返回的類文件對象支持Python文件對象的操作方法

read()方法就是讀取文件裏的全部內容,返回字符串

html = response.read()

打印響應內容

print(html.decode("unicode_escape"))
運行代碼結果打印數據如下
圖片描述

後續對這個數據是存儲,還是分析就是後續的操作了,到此我們就已經完成了從手機APP中提取數據的步驟.

如果有什麼想法或者意見的話歡迎來加扣扣羣:862672474 大家一起來交流學習呀~ 羣裏面更有小夥伴整理好了python的學習資料哦~
Python3.x+Fiddler抓取APP數據

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章