国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

瀏覽:3日期:2022-07-09 15:22:45

一、前言

最近需要獲取微信小程序上的數(shù)據(jù)進(jìn)行分析處理,第一時(shí)間想到的方式就是采用python爬蟲(chóng)爬取數(shù)據(jù),嘗試后發(fā)現(xiàn)諸多問(wèn)題,比如無(wú)法獲取目標(biāo)網(wǎng)址、解析網(wǎng)址中存在指定參數(shù)的不確定性、加密問(wèn)題等等,經(jīng)過(guò)一番嘗試,終于使用 Charles 抓取到指定微信小程序中的數(shù)據(jù),本文進(jìn)行記錄并總結(jié)。

環(huán)境配置:

電腦:Windows10,連接有線(xiàn)網(wǎng)

手機(jī):iPhone Xr,連接無(wú)線(xiàn)網(wǎng)

注:有線(xiàn)網(wǎng)與無(wú)線(xiàn)網(wǎng)最好位于同一網(wǎng)段下。

本文有線(xiàn)網(wǎng)網(wǎng)址:192.168.131.24,無(wú)線(xiàn)網(wǎng)網(wǎng)址:192.168.210.223

二、Charles配置與使用 1.Charles簡(jiǎn)介

Charles,一個(gè)HTTP代理服務(wù)器,HTTP監(jiān)視器,反轉(zhuǎn)代理服務(wù)器,當(dāng)程序連接Charles的代理訪(fǎng)問(wèn)互聯(lián)網(wǎng)時(shí),Charles可以監(jiān)控這個(gè)程序發(fā)送和接收的所有數(shù)據(jù)。它允許一個(gè)開(kāi)發(fā)者查看所有連接互聯(lián)網(wǎng)的HTTP通信,這些包括request, response和HTTP headers (包含cookies與caching信息)。

Charles主要功能:

1. 支持SSL代理。可以截取分析SSL的請(qǐng)求。

2. 支持流量控制。可以模擬慢速網(wǎng)絡(luò)以及等待時(shí)間(latency)較長(zhǎng)的請(qǐng)求。

3. 支持AJAX調(diào)試。可以自動(dòng)將json或xml數(shù)據(jù)格式化,方便查看。

4. 支持AMF調(diào)試。可以將Flash Remoting 或 Flex Remoting信息格式化,方便查看。

5. 支持重發(fā)網(wǎng)絡(luò)請(qǐng)求,方便后端調(diào)試。

6. 支持修改網(wǎng)絡(luò)請(qǐng)求參數(shù)。

7. 支持網(wǎng)絡(luò)請(qǐng)求的截獲并動(dòng)態(tài)修改。

8. 檢查HTML,CSS和RSS內(nèi)容是否符合W3C標(biāo)準(zhǔn)。

----百度百科

Charles,著名的抓包工具,可以抓取移動(dòng)端與pc端網(wǎng)絡(luò)訪(fǎng)問(wèn)的所有數(shù)據(jù),操作簡(jiǎn)單,試用期后每30分鐘需要重啟一次,且啟動(dòng)有10秒延遲,較麻煩。

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

2.Charles安裝

Charles官網(wǎng)下載:https://www.charlesproxy.com/download/

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

下載對(duì)應(yīng)版本后完成安裝。

3.證書(shū)配置(重要!) Charles安裝證書(shū):

Help -> SSL Proxying -> Install Charles Root Certificate

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

在Windows端需要安裝Charles證書(shū),點(diǎn)擊后如圖所示(此為安裝成功后截圖):

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

點(diǎn)擊安裝證書(shū),

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

點(diǎn)擊下一步,

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

在此選擇第二個(gè),將所有證書(shū)都放入下列存儲(chǔ),點(diǎn)擊瀏覽,選擇受信任的根證書(shū)頒發(fā)機(jī)構(gòu)。

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

確定后下一步。

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

點(diǎn)擊完成后提示導(dǎo)入成功。此時(shí)需要重新進(jìn)入Help -> SSL Proxying -> Install Charles Root Certificate,查看證書(shū)結(jié)果,成功時(shí)如下提示:

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

移動(dòng)端安裝證書(shū)(重要!)

移動(dòng)端同樣也需要安裝Charles證書(shū),具體操作如下:

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

選擇在移動(dòng)端安裝證書(shū)選項(xiàng),Charles提示如下:

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

提示需要設(shè)置手機(jī)http代理為192.168.131.24,端口為8888,然后在手機(jī)瀏覽器上訪(fǎng)問(wèn) chls.pro/ssl 下載安裝證書(shū)。如果IOS 版本在10以上,必須在設(shè)置->通用->關(guān)于本機(jī)->證書(shū)信任設(shè)置中打開(kāi)對(duì)根證書(shū)啟用完全信任。

接下來(lái)逐一操作如下:

1. 手機(jī)上打開(kāi)無(wú)線(xiàn)局域網(wǎng)鏈接,選擇鏈接的無(wú)線(xiàn)網(wǎng)信息頁(yè)如下:

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

2. 在http代理中選擇手動(dòng),添加Charles提示的http代理:192.168.1324,端口為8888,選擇存儲(chǔ)。

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

3. 手機(jī)上設(shè)置->通用->關(guān)于本機(jī)->證書(shū)信任設(shè)置,打開(kāi)右邊按鈕,開(kāi)啟完全信任。

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

注:手機(jī)設(shè)置完成后若無(wú)法上網(wǎng),極有可能是ios版本過(guò)高并沒(méi)有開(kāi)啟對(duì)證書(shū)的 完全信任、完全信任、完全信任 導(dǎo)致!!!

手機(jī)正確連接后,Charles會(huì)彈框類(lèi)似如下,說(shuō)明連接成功。(圖中IP地址為另一個(gè)測(cè)試機(jī))

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

瀏覽器端配置

谷歌與火狐瀏覽器默認(rèn)并不使用系統(tǒng)的代理服務(wù)器設(shè)置,而 Charles 是通過(guò)將自己設(shè)置成代理服務(wù)器來(lái)完成封包截取的,所以在默認(rèn)情況下無(wú)法截取 Chrome 和 Firefox 瀏覽器的網(wǎng)絡(luò)通訊內(nèi)容。如果你需要截取的話(huà),在 Chrome 中設(shè)置成使用系統(tǒng)的代理服務(wù)器設(shè)置即可,或者直接將代理服務(wù)器設(shè)置成 127.0.0.1:8888 也可達(dá)到相同效果。

至此,證書(shū)的相關(guān)三點(diǎn)設(shè)置完畢。

4.Charles配置 取消Windows代理

由于此次目標(biāo)是抓取移動(dòng)端微信小程序中的數(shù)據(jù),取消此選項(xiàng)是盡量減少無(wú)關(guān)的數(shù)據(jù)量。

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

查看本機(jī)IP地址與配置相關(guān)端口號(hào)

默認(rèn)端口號(hào)是8888,可以修改。

Help -> Local ip Address :

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

Proxy -> Proxy Settings :

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

ssl代理設(shè)置

安裝完成ssl證書(shū)后,需要在Charles中開(kāi)啟ssl代理設(shè)置,在Proxy->SSL Proxying Settings中,勾選Enable SSL Proxying,

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

點(diǎn)擊add,新增訪(fǎng)問(wèn)的目標(biāo)地址,根據(jù)提示,空的host與port匹配所有的值,可以使用*與?進(jìn)行匹配,此處host與port均填寫(xiě)*。

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

至此,Charles相關(guān)的配置完畢。

三、Charles數(shù)據(jù)抓取

手機(jī)與Charles均配置成功后,打開(kāi)微信小程序,此時(shí)Charles會(huì)自動(dòng)獲取http與https訪(fǎng)問(wèn),如下:

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

點(diǎn)擊左邊解析的鏈接,選擇Contents,JSON Text,可以看到解析出來(lái)的微信小程序數(shù)據(jù)內(nèi)容。

在Overview中,可以看到訪(fǎng)問(wèn)的url地址為:

https://nujump.tigerobo.com/HB_Jumper/ztjump.ashx?topic=8&aris_data=kcb_1_announced_corp&pageIndex=1&pageSize=5,

主要參數(shù)為pageIndex與pageSize,即頁(yè)面索引與當(dāng)頁(yè)顯示的數(shù)據(jù)量,在瀏覽器中訪(fǎng)問(wèn)該url,可以看到返回的結(jié)果為json格式的數(shù)據(jù):

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

其實(shí),當(dāng)通過(guò)Charles解析出url鏈接時(shí),即可通過(guò)python爬蟲(chóng)爬取接口返回的數(shù)據(jù)了,不涉及反爬蟲(chóng)等問(wèn)題,非常方便。

四、問(wèn)題集錦

1.網(wǎng)絡(luò)問(wèn)題:

網(wǎng)傳手機(jī)與電腦鏈接的網(wǎng)段必須相同,但是也有不一致的說(shuō)法,本文測(cè)試時(shí),無(wú)線(xiàn)網(wǎng)與有線(xiàn)網(wǎng)是處在同一網(wǎng)段下。

2. 手機(jī)或電腦無(wú)法聯(lián)網(wǎng):

證書(shū)問(wèn)題:證書(shū)未能正確安裝,查看手機(jī)上是否始終信任證書(shū)!(多數(shù)情況下如此);電腦上查看證書(shū)是否安裝在受信任的位置,瀏覽器中的證書(shū)是否正確添加。

防火墻問(wèn)題:關(guān)閉Windows10的防火墻,取消阻止傳入連接。

Python爬取微信小程序Charles實(shí)現(xiàn)過(guò)程圖解

其他問(wèn)題:網(wǎng)傳Charles開(kāi)啟了White list,但測(cè)試時(shí)并未發(fā)現(xiàn)。

3.https加密的鏈接顯示unknow

此問(wèn)題遇到的可能性最大,導(dǎo)致的原因很多,

最有可能的原因在于證書(shū)的問(wèn)題,證書(shū)未能正確安裝,查看手機(jī)上是否始終信任證書(shū)!!(多數(shù)情況下如此,注意iOS版本問(wèn)題,過(guò)高需要始終信任此證書(shū));電腦上查看證書(shū)是否安裝在受信任的位置。

五、補(bǔ)充

目前來(lái)說(shuō),采用Charles抓取移動(dòng)端微信小程序數(shù)據(jù)應(yīng)該是比較容易的,就是配置過(guò)程與安裝證書(shū)較為繁瑣。

除此之外,網(wǎng)傳另外一種方式,使用TBS爬取微信小程序,本人嘗試后始終未能正確爬取數(shù)據(jù),如哪位大神操作正確,抓取數(shù)據(jù)順利,還望告知,不勝感激!

TBS爬取微信小程序參考連接如下:

https://my.oschina.net/sumiao/blog/1587350?utm_source=debugrun&utm_medium=referral

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: 微信 Python
相關(guān)文章:
主站蜘蛛池模板: 洋老外米糕国产一区二区 | 欧美精品18videos性欧美 | 一级毛片q片 | 免费网站看v片在线香蕉 | 久久99欧美 | 欧美日韩亚洲综合在线一区二区 | 精品视频一区二区三三区四区 | 国产亚洲高清不卡在线观看 | 欧美亚洲日本韩国一级毛片 | 找个毛片看看 | 国产九九在线观看播放 | 67194国产精品 | 久久久久国产免费 | 看看免费a一片欧 | 亚洲综合国产 | 亚洲国产欧洲精品路线久久 | 女人aaaaa片一级一毛片 | 欧美精品xxxⅹ欧美 欧美精品不卡 | 免费一级a毛片在线播 | 午夜亚洲精品 | 国产91精品一区二区麻豆亚洲 | 欧美大尺度免费一级特黄 | 特黄特黄 | 快色网站 | 香蕉国产人午夜视频在线 | 热re66久久精品国产99热 | 欧美毛片a级毛片免费观 | 色毛片 | 国产成人综合91精品 | 国产三级手机在线 | 亚洲最黄网站 | 国产短裙黑色丝袜在线观看下 | 欧美国产日韩在线观看 | www.日本免费 | 99久99久6久热在线播放 | 国产午夜精品不卡视频 | 美女黄色免费看 | 天堂8在线天堂资源bt | 免费刺激视频 | 久久国产精品久久国产精品 | 久久精品视频6 |