亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Python爬蟲(chóng)120例之案例58,手機(jī)APP爬蟲(chóng),“武器庫(kù)”的準(zhǔn)備and皮皮蝦APP的測(cè)試

roundstones / 3124人閱讀

摘要:在爬蟲(chóng)的編寫過(guò)程中使用最多的是,它表示查看請(qǐng)求和響應(yīng)的數(shù)據(jù)內(nèi)容。后續(xù)在打開(kāi)剛才加載的軟件,例如本次案例打開(kāi)的是皮皮蝦,開(kāi)啟,成功捕獲到如下請(qǐng)求,這個(gè)地方就是最終的接口了。復(fù)制接口地址,在本地瀏覽器打開(kāi),得到皮皮蝦的視頻評(píng)論數(shù)據(jù)。

本篇博客開(kāi)始,我們將涉足手機(jī) APP 采集領(lǐng)域,這部分的知識(shí)我們主要以分析核心接口,編寫針對(duì)接口的突破代碼為主。

這里希望通過(guò)前面 57 篇爬蟲(chóng)系列博客的學(xué)習(xí),你已經(jīng)可以通過(guò)不同的“手段”,去采集數(shù)據(jù)。

抓包工具 Fiddler

手機(jī) APP 的采集與網(wǎng)頁(yè)爬蟲(chóng)的采集一個(gè)最大的差異,就是需要抓取 APP 接口地址,因?yàn)槲覀儧](méi)有谷歌瀏覽器開(kāi)發(fā)者工具的支持,所以需要使用 Fiddler 工具,進(jìn)行抓包。

對(duì)于任何一款軟件,能讓其正常運(yùn)行起來(lái),就完成了 90%的工作。

fiddler 是一款收費(fèi)軟件,官網(wǎng):https://www.telerik.com/fiddler,有能力的建議購(gòu)買,不想支付的可以選擇其它路徑,官方版本具備 30 天的試用期,我們就采用這個(gè)版本進(jìn)行學(xué)習(xí)吧。

下載的時(shí)候,選擇 Classic 版本即可,下載地址

安裝過(guò)程就比較簡(jiǎn)單了,基本遵循下一步原則即可,安裝完畢會(huì)出現(xiàn)如下網(wǎng)頁(yè),注意這里先不要關(guān)閉,后續(xù)我們會(huì)用到里面的幾個(gè)配置文檔。

運(yùn)行界面,呈現(xiàn)如下效果,一般不建議漢化了,因?yàn)闆](méi)有多少?gòu)?fù)雜操作,多用用就習(xí)慣了。

這里有個(gè)細(xì)節(jié)需要注意,當(dāng)你打開(kāi) Fiddler 的時(shí)候,它就已經(jīng)把 HTTP 的代理給修改了,所以會(huì)碰到當(dāng)打開(kāi) Fiddler 時(shí),可能無(wú)法正常的訪問(wèn)網(wǎng)站,或者訪問(wèn)的速度變慢。

Fiddler 默認(rèn)是直接抓包的
如果不想要抓包,可以在 File->Capture Traffic 和左下角按鈕進(jìn)行設(shè)置,快捷鍵是 F12。

默認(rèn)能抓取的是 HTTP 請(qǐng)求的站點(diǎn),稍后會(huì)說(shuō)明 HTTPS 如何配置。
開(kāi)啟抓包請(qǐng)求之后,去訪問(wèn)網(wǎng)絡(luò),會(huì)得到如下頁(yè)面,其中相關(guān)字段已經(jīng)標(biāo)注在下圖中。

上述圖片中的內(nèi)容,一定要留下印象,方便后續(xù)的學(xué)習(xí)。
接下來(lái)雙擊上圖任意一個(gè)請(qǐng)求,查看右側(cè)窗口內(nèi)容,下圖為你標(biāo)記一下右邊窗口的內(nèi)容都是什么。


在爬蟲(chóng)的編寫過(guò)程中使用最多的是 Inspectors,它表示查看請(qǐng)求和響應(yīng)的數(shù)據(jù)內(nèi)容。

其余功能簡(jiǎn)單描述如下:

  • Statistics: 查看關(guān)于 HTTP 請(qǐng)求的性能以及數(shù)據(jù)分析;
  • AutoResponder :允許攔截指定規(guī)則的請(qǐng)求,可以基于字符串和正則表達(dá)式做攔截,大意是將指定請(qǐng)求劫持后,使用本地版本;
  • Composer: 自定義請(qǐng)求發(fā)送服務(wù)器,可以新建,也可以直接拖拽一個(gè)過(guò)去;
  • Filters :請(qǐng)求過(guò)濾規(guī)則;
  • Timeline: 請(qǐng)求響應(yīng)時(shí)間。

這些內(nèi)容在后續(xù)都會(huì)逐步使用到。

下面完成最重要的一步,配置 fiddler,使其可以抓取 HTTPS 請(qǐng)求

選擇開(kāi)始菜單中的 Tool->Options -> HTTPS ,然后點(diǎn)擊下圖 Decrypt HTTPS Traffic,就可以安裝一個(gè)證書。

如果本步驟設(shè)置完畢了,還是不能獲取 HTTPS 請(qǐng)求,可以參考下述 2 篇博客解決相應(yīng)問(wèn)題。

- https://www.cnblogs.com/wsy0202/p/12404715.html- https://blog.csdn.net/baidu_28647571/article/details/107554126

通過(guò)共享熱點(diǎn)實(shí)現(xiàn) fiddler 對(duì)手機(jī) APP 抓包

這個(gè)步驟需要電腦可以打開(kāi) Wifi,并實(shí)現(xiàn)共享網(wǎng)絡(luò),如果你使用的是臺(tái)式機(jī),它可能沒(méi)有無(wú)線網(wǎng)卡,是不能共享網(wǎng)絡(luò)的(安裝外置網(wǎng)卡即可),筆記本電腦無(wú)該問(wèn)題。
然后手機(jī)鏈接共享出去的 Wifi,接下來(lái)在 fiddler 中配置如下內(nèi)容。


確定之后,需要在 fiddler 中找到下圖所示的本地 IP,例如下圖所示的 IP 地址為 172.24.203.1,這個(gè)地址很重要,結(jié)合上述的端口 8888,一會(huì)需要訪問(wèn)該地址去下載一個(gè)證書到手機(jī)端。

手機(jī)鏈接該 Wifi,并設(shè)置如下代理。

此時(shí)還不可以,還需要在手機(jī)端下載證書,通過(guò)手機(jī)端默認(rèn)瀏覽器打開(kāi) http://172.24.203.1:8888(確保 fiddler 是抓包狀態(tài)),如果手機(jī)端無(wú)法打開(kāi),重啟 fiddler

打開(kāi)之后,如下圖所示,點(diǎn)擊下圖紅線位置進(jìn)行證書下載。

瀏覽器下載的證書如果點(diǎn)擊無(wú)法安裝,去手機(jī)設(shè)置里面找到下圖內(nèi)容,每個(gè)手機(jī)的路徑不太一致,基本參考路線是 設(shè)置->通用設(shè)置->安全和隱私->更多->加密和憑據(jù),然后點(diǎn)擊下面的從 SD 卡安裝,應(yīng)該在根目錄下可以找到剛才下載的證書,點(diǎn)擊安裝即可。

安裝證書時(shí),需要設(shè)置的內(nèi)容,如下所示。

此時(shí)已經(jīng)完整大部分工作了,如果你的 安卓系統(tǒng)是 7.0 以下,那到此就可以結(jié)束了,但如果你的版本比 7.0 高,那還需要繼續(xù)設(shè)置一些配置。
如果不確定是否可以,可以隨機(jī)打開(kāi)手機(jī)上的 APP,然后再 fiddler 中查看是否可以解開(kāi) HTTPS 請(qǐng)求。

環(huán)境構(gòu)建過(guò)程中,可以不時(shí)重啟 fiddler 確保配置生效。

使用 VirtualXposed+JustTrustMe 來(lái)繞過(guò) SSL 驗(yàn)證,實(shí)現(xiàn)抓包需求

在 github 下載上述兩款工具。

無(wú)法下載,可以直接在我提供的 地址下載,安裝的時(shí)候發(fā)現(xiàn) VirtualXposed 最新版本不支持 32 位 APP 了,如果需要抓取 32 位的 APP,需要安裝 VirtualXposed_0.18.2.apk 包 。

文件傳輸?shù)绞謾C(jī)上之后,全部進(jìn)行安裝,然后打開(kāi) VirtualXposed ,點(diǎn)擊下面的按鈕之后選擇添加應(yīng)用,模塊管理開(kāi)啟 JustTrustMe,之后選擇重啟即可。

后續(xù)在 VirtualXposed 打開(kāi)剛才加載的軟件,例如本次案例打開(kāi)的是 “皮皮蝦 APP”,開(kāi)啟 fiddler,成功捕獲到如下請(qǐng)求,這個(gè)地方就是最終的接口了。


復(fù)制接口地址,在本地瀏覽器打開(kāi),得到皮皮蝦的視頻評(píng)論數(shù)據(jù)。

https://is-hl.snssdk.com/bds/cell/cell_comment/?offset=10&cell_type=1&api_version=1&cell_id=7023269838151751943……其余部分隱藏

拿到接口之后,剩余的邏輯處理部分就比較簡(jiǎn)單了,步驟依次如下:

  1. 分析接口參數(shù)
  2. 編寫代碼采集

精簡(jiǎn)參數(shù)之后得到如下接口格式:

https://is-hl.snssdk.com/bds/cell/cell_comment/?offset=10&cell_id=7023269838151751943&aid=1319&app_name=super

爬蟲(chóng)編碼時(shí)間

APP 爬蟲(chóng)最難的地方是獲取接口,獲取到接口并分析之后,如果沒(méi)有加密參數(shù),那直接采用之前博客中提及的任意一個(gè)庫(kù)或者框架,都可以完成爬蟲(chóng)代碼的編寫。

收尾時(shí)間

從本篇博客開(kāi)始,我們將正式進(jìn)入手機(jī)APP爬蟲(chóng)部分,這部分內(nèi)容大概會(huì)編寫10篇左右的博客

今天是持續(xù)寫作的第 262 / 200 天。
可以關(guān)注我,點(diǎn)贊我、評(píng)論我、收藏我啦。

更多精彩


???掃碼加入【78技術(shù)人】~ Python 事業(yè)部???,源碼也在這

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/123516.html

相關(guān)文章

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<