日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

教你一招,如何使用抓包工具轻松获取微信文章数据!

發(fā)布時(shí)間:2023/12/10 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 教你一招,如何使用抓包工具轻松获取微信文章数据! 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

每天早上七點(diǎn)三十,準(zhǔn)時(shí)推送干貨

Hello,大家好,五一小長假結(jié)束,今天開始上班!不過想想,再過三天就又周末,想想還是有點(diǎn)小激動,嘿嘿!

前幾天的文章,阿粉教了大家如何爬取豆瓣短評數(shù)據(jù)。爬取網(wǎng)頁的數(shù)據(jù),只要我們熟悉 Xpath,還是不難的。

不過現(xiàn)在移動時(shí)代,很多應(yīng)用可能只有客戶端軟件,只能在手機(jī)上使用,并沒有相應(yīng)的網(wǎng)頁。

另外還有一些網(wǎng)頁并非是靜態(tài)網(wǎng)頁,頁面內(nèi)容將會采用 JS 處理數(shù)據(jù)后生成,可以發(fā)生變化。這種動態(tài)網(wǎng)頁我們?nèi)绻苯邮褂?HttpClient 訪問網(wǎng)頁,解析該網(wǎng)頁結(jié)構(gòu),是無法獲取到所需的數(shù)據(jù)。

針對以上兩種情況,使用 xpath 解析網(wǎng)頁,已經(jīng)沒啥作用。這里阿粉教大家其他技巧獲取這些數(shù)據(jù):

  • 使用抓包工具獲取應(yīng)用訪問請求

  • 模擬瀏覽器訪問動態(tài)網(wǎng)頁

這篇文章我們主要講下如何通過抓包工具獲取應(yīng)用訪問請求,下篇我們再聊下如何通過模擬瀏覽器訪問動態(tài)網(wǎng)頁。

抓包底層原理

不管是小程序,還是 APP,產(chǎn)品頁面顯示的數(shù)據(jù)都是通過訪問后臺請求獲取。現(xiàn)在互聯(lián)網(wǎng)一般使用 Http/Https 協(xié)議進(jìn)行傳輸,數(shù)據(jù)格式通常采用 json 格式。

知道這層邏輯之后,只要我們能獲取這個(gè)請求鏈接,那我們其實(shí)就可以直接訪問該請求鏈接,得到返回 json 數(shù)據(jù),然后解析獲取相應(yīng)的數(shù)據(jù)。

這個(gè)過程最主要就是如何獲取手機(jī)應(yīng)用的訪問請求?這里我們就需要通過借助抓包工具獲取。

抓包工具原理其實(shí)也不難,簡單來說,抓包工具就是一個(gè)代理軟件,代理相當(dāng)于一個(gè)中間人。

客戶端首先將所有請求發(fā)送給代理,然后再由代理發(fā)送給服務(wù)器。服務(wù)器對請求的返回的響應(yīng)先由代理攔截,再由代理返給客戶端。

ps:這不就是我們常用 AOP 模式嗎~

果然技術(shù)原理都是相通的。

圖片來源于網(wǎng)絡(luò)

市面上抓包工具還是比較多,常用有:

  • Windows 平臺:Fildder

  • Mac 平臺:Charles

  • iOS 系統(tǒng):Thor

  • Android 系統(tǒng):HttpCanary

以上四個(gè)抓包工具,基本上覆蓋上所有主要平臺。下面阿粉將會著重介紹 Charles,其他平臺的工具感興趣的小伙伴可以自行研究一下。

Charles 抓包實(shí)踐

Charles 是一款基于 Java 開發(fā)的抓包工具,所以可以在多個(gè)平臺(Windows/Macos/Linux)安裝使用,不過阿粉還是覺得在 Mac 使用體驗(yàn)比較好。

Charles 除了上面提到的抓包功能之外,還可以用來攔截網(wǎng)絡(luò)請求,方便做一些弱網(wǎng)測試等等,功能非常強(qiáng)大。

另外說下,Charles 是一款收費(fèi)軟件,不過可以免費(fèi)試用 30 天。

下載地址:https://www.charlesproxy.com/download/

安裝完成之后,打開 Charles,工具欄介紹如下:

圖片來自網(wǎng)絡(luò)

簡單使用

Charles 基本使用非常簡單,只要打開,Charles 就會開始工作。

舉個(gè)例子,訪問了一下 baidu,我們可以左側(cè)觀察到這次請求,觸發(fā)的所有鏈接。具體點(diǎn)擊某個(gè)請求,我們可以觀察到所有具體請求信息。

如果此時(shí)打開 Charles 并未生效,可以查看一下是否設(shè)置通過 Charles 代理選項(xiàng)。

抓包手機(jī)請求

上面的示例,我們只是攔截本地 Mac 的請求,接下來我們來看下如何攔截手機(jī)應(yīng)用的請求。

首先我們需要設(shè)置手機(jī)無線網(wǎng)絡(luò)連接,以蘋果手機(jī)為例:

首先進(jìn)入網(wǎng)絡(luò)設(shè)置的,配置 HTTP 代理。

其次設(shè)置服務(wù)器 IP,即 Charles 主機(jī) IP,端口默認(rèn)為 8888

當(dāng)然我們可以修改默認(rèn)端口,打開 Proxy/ProxySettings,設(shè)置端口。

設(shè)置代理之后,你可能會發(fā)現(xiàn)你的手機(jī)應(yīng)用無法上網(wǎng)了,并且 Charles 抓包顯示如下 :

不用急,這個(gè)問題是是因?yàn)槲覀冊L問的 HTTPS 請求連接。對于這些請求,我們還需要在手機(jī)端安裝 Charles 的證書才可以。

我們需要手機(jī) Safari 瀏覽器輸入地址 chls.pro/ssl,出現(xiàn)證書安裝頁面,點(diǎn)擊安裝。

然后進(jìn)入設(shè)置/通用/描述文件與設(shè)備管理,找到 Charles 的證書,輸入本機(jī)密碼,進(jìn)行安裝。

最后還有一步,iOS 10.3 系統(tǒng),還需要在設(shè)置/通用/關(guān)于本機(jī)/證書信任設(shè)置里面啟用完全信任 Charles 證書。

上述設(shè)置完成之后,我們再次訪問請求,就可以看到 Charles 攔截手機(jī)端發(fā)出去的請求。

過濾請求

Charles 默認(rèn)將會攔截所有請求連接,這個(gè)情況有時(shí)會對我們產(chǎn)生干擾。我們可以在 Charles 進(jìn)行設(shè)置規(guī)則,Charles 只會攔截符合規(guī)則的請求:

增加規(guī)則,比如我只想攔截 m.baidu.com 的請求信息:

此時(shí) Charles 只會攔截我們規(guī)定的請求信息,非常清爽。

抓包實(shí)戰(zhàn),獲取微信文章的閱讀,點(diǎn)贊數(shù)

手機(jī)代理設(shè)置完成之后,在微信中任意打開一篇公眾號文章,可以在 Charles 中看到多個(gè)請求,其中 https://mp.weixin.qq.com/mp/getappmsgext,該請求返回信息中包含文章閱讀數(shù),點(diǎn)贊數(shù),評論數(shù)量。

這里阿粉安利一款 IDEA 插件 gsonformat,可以將 json 信息快速轉(zhuǎn)成 POJO 類字段信息。這對于我們后期解析 json 數(shù)據(jù),作用非常大。

總結(jié)

本篇文章阿粉主要跟大家聊了下 Charles 基本抓包技巧,掌握 Charles 抓包技巧之后,爬取手機(jī)端 APP 應(yīng)用請求可以分為以下幾步:

  • 通過抓包工具獲取訪問請求

  • 研究請求之間的關(guān)系

  • 解析返回信息

  • 編寫爬蟲程序,數(shù)據(jù)存庫

  • 好了,今天文章就講到這,下一篇文章,阿粉再來介紹下,如何獲取動態(tài)網(wǎng)頁的數(shù)據(jù),敬請期待!

    幫助文檔

  • https://www.cnblogs.com/meitian/p/7327088.html

  • https://juejin.im/post/5b8350b96fb9a019d9246c4c

  • https://www.jianshu.com/p/bb8231f48a07

  • < END >

    如果大家喜歡我們的文章,歡迎大家轉(zhuǎn)發(fā),點(diǎn)擊在看讓更多的人看到。也歡迎大家熱愛技術(shù)和學(xué)習(xí)的朋友加入的我們的知識星球當(dāng)中,我們共同成長,進(jìn)步。

    往期精彩回顧

    龍嶺迷窟真的這么好看?今天我們就用 Java 爬取豆瓣數(shù)據(jù)好好分析一下!
    這些神奇 Bug,碰到真是讓人目瞪狗呆!

    聽說,這些表情包只有程序員才懂

    總結(jié)

    以上是生活随笔為你收集整理的教你一招,如何使用抓包工具轻松获取微信文章数据!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。