隨着移動互聯網的市場份額逐步擴大,手機APP已經佔據咱們的生活,以往的數據分析都藉助於爬蟲爬取網頁數據進行分析,可是新興的產品有的只有APP,並無網頁端這對於想要提取數據的咱們就遇到了些問題,本章以豆果美食APP爲例給你們演示如何提取手機的數據。
Fiddler官網下載地址:http://www.fiddler2.com/fiddl...,我是直接在百度搜索的下載版本html
安裝過程就是下一步下一步最後完成便可,安裝好了之後須要配置一些內容api
設置容許抓取HTTPS信息包
打開下載好的fiddler,找到 Tools -> Options,而後在HTTPS的工具欄下勾選Decrpt HTTPS traffic,在新彈出的選項欄下勾選Ignore server certificate errors。這樣,fiddler就會抓取到HTTPS的信息包服務器
設置容許外部設備發送HTTP/HTTPS到fiddler
在Connections選項欄下勾選Allow remote computers to connect網絡
想要抓取手機APP上的數據一大難點就在於,你並不知道他們數據請求的接口地址是多少,在PC端想要抓取一個網站的數據只要訪問網址,用抓包工具就能夠知道了,因此咱們第一步先把環境配置好,就是在手機上訪問地址(發送任何網絡請求)均可以在電腦上經過Fiddler抓取到。數據結構
第一步:先保障手機和電腦上面鏈接網絡,我這裏是電腦連的網線,我單獨安裝了一個Wi-Fi共享精靈,手機(iphone6s)鏈接上共享出去的wifi框架
第二步:查看電腦IP地址
先在電腦上打開cmd,輸入ipconfig查看IP地址
這裏要注意IP地址用的是無線網絡鏈接這個IP地址,不是本地鏈接的IP地址(坑點)iphone
第三步:手機設置HTTP代理
打開手機無線網絡鏈接,選擇已經鏈接的網絡鏈接,點擊一個小圓圈歎號進入能夠看到下圖,選擇配置代理,進入後把剛剛的IP地址輸入進去,端口就是Fiddler中設置的8888便可。工具
第四步:手機和電腦端安裝證書
電腦端訪問:http://localhost:8888/進行安裝
手機訪問電腦的IP地址加端口8888便可,我這裏的地址是:http://192.168.23.1:8888測試
第五步:測試經過
最後就是來測試下,打開手機隨便一個APP,去訪問裏面的內容,這時打開fiddler能夠看到所發出的網絡請求,我這裏打開的是豆果美食APP網站
經過觀察fiddler中的請求能夠發現http://api.douguo.net/persona...,這個就是請求首頁中的部分數據,直接把地址複製到網頁中能夠看到返回的JSON數據
其實這部份內容是最重要也是最困難的一個環節,考驗你工做年限的時候到了,要從中剝離出正確的API請求,並分析API中的數據結構,爲後續數據分析作準備。
這裏直接經過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中提取數據的步驟