天天看點

Python爬蟲采集抓取:Python3.x+Fiddler 采集抓取 APP 資料

    随着移動網際網路的市場佔有率逐漸擴大,手機 APP 已經占據我們的生活,以往的資料分析都借助于爬蟲采集爬取網頁資料進行分析,但是新興的産品有的隻有 APP,并沒有網頁端這對于想要提取資料的我們就遇到了些問題,本章以豆果美食 APP 為例給大家示範如何利用Python爬蟲采集抓取提取手機APP資料。具體教程如下:

一、安裝 Fiddler

Fiddler 官網下載下傳位址:http://www.fiddler2.com/fiddl...,筆者是直接在百度搜尋的下載下傳版本

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

二、設定允許抓取 HTTPS 資訊包

打開下載下傳好的 fiddler,找到 Tools -> Options,然後在 HTTPS 的工具欄下勾選Decrpt HTTPS traffic,在新彈出的選項欄下勾選 Ignore server certificate errors。這樣,fiddler 就會抓取到HTTPS的資訊包。

Python爬蟲采集抓取:Python3.x+Fiddler 采集抓取 APP 資料

Python爬蟲采集抓取:Python3.x+Fiddler 采集抓取手機APP資料

三、設定允許外部裝置發送 HTTP/HTTPS 到 fiddler

在 Connections 選項欄下勾選 Allow remote computers to connect

Python爬蟲采集抓取:Python3.x+Fiddler 采集抓取 APP 資料

Python爬蟲采集抓取:Python3.x+Fiddler 采集抓取手機APP資料

四、連通手機與電腦

想要抓取手機APP資料一大難點就在于,你并不知道他們資料請求的接口位址是多少,在 PC 端想要抓取一個網站的資料隻要通路網址,用抓包工具就可以知道了,是以我們第一步先把環境配置好,就是在手機上通路位址(發送任何網絡請求)都可以在電腦上通過 Fiddler 抓取到。

第一步:先保障手機和電腦上面連接配接網絡,我這裡是電腦連的網線,我單獨安裝了一個 Wi-Fi 共享精靈,手機(iphone6s)連接配接上共享出去的 wifi。

Python爬蟲采集抓取:Python3.x+Fiddler 采集抓取 APP 資料

Python爬蟲采集抓取:Python3.x+Fiddler 采集抓取手機APP資料

第二步:檢視電腦 IP 位址

先在電腦上打開 cmd,輸入 ipconfig 檢視 IP 位址

Python爬蟲采集抓取:Python3.x+Fiddler 采集抓取 APP 資料

Python爬蟲采集抓取:Python3.x+Fiddler 采集抓取手機APP資料( 軟币)

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

第三步:手機設定 HTTP 代理

打開手機無線網絡連接配接,選擇已經連接配接的網絡連接配接,點選一個小圓圈歎号進入可以看到下圖,選擇配置代理,進入後把剛剛的 IP 位址輸入進去,端口就是Fiddler 中設定的 8888 即可。

Python爬蟲采集抓取:Python3.x+Fiddler 采集抓取 APP 資料

Python爬蟲采集抓取:Python3.x+Fiddler 采集抓取手機APP資料

第四步:手機和電腦端安裝證書

電腦端通路:http://localhost:8888/進行安裝

Python爬蟲采集抓取:Python3.x+Fiddler 采集抓取 APP 資料

Python爬蟲采集抓取:Python3.x+Fiddler 采集抓取手機APP資料( 軟盟網)

手機通路電腦的IP位址加端口8888即可,我這裡的位址是:http://192.168.23.1:8888

Python爬蟲采集抓取:Python3.x+Fiddler 采集抓取 APP 資料

Python爬蟲采集抓取:Python3.x+Fiddler 采集 抓取手機APP資料 

第五步:測試通過

最後就是來測試下,打開手機随便一個 APP,去通路裡面的内容,這時打開 fiddler 可以看到所發出的網絡請求,我這裡打開的是豆果美食 APP

Python爬蟲采集抓取:Python3.x+Fiddler 采集抓取 APP 資料

Python爬蟲采集抓取:Python3.x+Fiddler 采集抓取手機APP資料

分析手機APP請求位址

通過觀察 fiddler 中的請求可以發現 http://api.douguo.net/persona...,這個就是請求首頁中的部分資料,直接把位址複制到網頁中可以看到傳回的JSON資料。

Python爬蟲采集抓取:Python3.x+Fiddler 采集抓取 APP 資料

Python爬蟲采集抓取: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"))
           

運作代碼結果列印資料如下

Python爬蟲采集抓取:Python3.x+Fiddler 采集抓取 APP 資料

Python爬蟲采集抓取:Python3.x+Fiddler 采集抓取手機APP資料

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

部分内容參考自:www.ruanbe.com

繼續閱讀