欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年09月29日 09:49:01   作者:偷偷玩兩下  
這篇文章主要介紹了Python爬取微信小程序Charles實現(xiàn)過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

一、前言

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

環(huán)境配置:

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

手機:iPhone Xr,連接無線網(wǎng)

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

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

二、Charles配置與使用 1.Charles簡介

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

Charles主要功能:

1. 支持SSL代理??梢越厝》治鯯SL的請求。

2. 支持流量控制??梢阅M慢速網(wǎng)絡(luò)以及等待時間(latency)較長的請求。

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

4. 支持AMF調(diào)試??梢詫lash Remoting 或 Flex Remoting信息格式化,方便查看。

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

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

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

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

----百度百科

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

2.Charles安裝

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

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

3.證書配置(重要?。?Charles安裝證書:

Help -> SSL Proxying -> Install Charles Root Certificate

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

點擊安裝證書,

點擊下一步,

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

確定后下一步。

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

 移動端安裝證書(重要?。?/p>

移動端同樣也需要安裝Charles證書,具體操作如下:

 選擇在移動端安裝證書選項,Charles提示如下:

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

接下來逐一操作如下:

1. 手機上打開無線局域網(wǎng)鏈接,選擇鏈接的無線網(wǎng)信息頁如下:

        

2. 在http代理中選擇手動,添加Charles提示的http代理:192.168.1324,端口為8888,選擇存儲。

        

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

         

注:手機設(shè)置完成后若無法上網(wǎng),極有可能是ios版本過高并沒有開啟對證書的 完全信任、完全信任、完全信任 導(dǎo)致?。?!

手機正確連接后,Charles會彈框類似如下,說明連接成功。(圖中IP地址為另一個測試機)

瀏覽器端配置

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

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

4.Charles配置 取消Windows代理

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

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

默認端口號是8888,可以修改。

Help -> Local ip Address :

 Proxy -> Proxy Settings :

ssl代理設(shè)置

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

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

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

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

手機與Charles均配置成功后,打開微信小程序,此時Charles會自動獲取http與https訪問,如下:

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

在Overview中,可以看到訪問的url地址為:

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

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

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

四、問題集錦

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

網(wǎng)傳手機與電腦鏈接的網(wǎng)段必須相同,但是也有不一致的說法,本文測試時,無線網(wǎng)與有線網(wǎng)是處在同一網(wǎng)段下。

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

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

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

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

3.https加密的鏈接顯示unknow

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

最有可能的原因在于證書的問題,證書未能正確安裝,查看手機上是否始終信任證書?。。ǘ鄶?shù)情況下如此,注意iOS版本問題,過高需要始終信任此證書);電腦上查看證書是否安裝在受信任的位置。

五、補充

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

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

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python入門之基礎(chǔ)語法詳解

    Python入門之基礎(chǔ)語法詳解

    這篇文章主要介紹了Python入門之基礎(chǔ)語法詳解,文中有非常詳細的代碼示例,對正在學(xué)習(xí)python的小伙伴們有很大的幫助喲,需要的朋友可以參考下
    2021-05-05
  • Python實現(xiàn)數(shù)據(jù)庫編程方法詳解

    Python實現(xiàn)數(shù)據(jù)庫編程方法詳解

    這篇文章主要介紹了Python實現(xiàn)數(shù)據(jù)庫編程方法,較為詳細的總結(jié)了Python數(shù)據(jù)庫編程涉及的各種常用技巧與相關(guān)組件,需要的朋友可以參考下
    2015-06-06
  • Python創(chuàng)建一個元素都為0的列表實例

    Python創(chuàng)建一個元素都為0的列表實例

    今天小編就為大家分享一篇Python創(chuàng)建一個元素都為0的列表實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python multiply()與dot使用示例講解

    python multiply()與dot使用示例講解

    這篇文章主要介紹了python multiply()與dot使用示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-12-12
  • 深入了解Python在HDA中的應(yīng)用

    深入了解Python在HDA中的應(yīng)用

    這篇文章主要介紹了深入了解Python在HDA中的應(yīng)用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • 一分鐘帶你掌握Python中pip的安裝與使用方法

    一分鐘帶你掌握Python中pip的安裝與使用方法

    pip是什么?它是Python包管理工具,這個工具提供了對Python 包的查找、下載、安裝和卸載的功能,這篇文章主要介紹了pip的安裝與使用方法
    2021-08-08
  • python實現(xiàn)外賣信息管理系統(tǒng)

    python實現(xiàn)外賣信息管理系統(tǒng)

    這篇文章主要為大家詳細介紹了python實現(xiàn)外賣信息管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Python中copy和deepcopy的使用分析

    Python中copy和deepcopy的使用分析

    這篇文章主要介紹了Python中copy和deepcopy的使用,淺拷貝等于賦值,也可以通過copy實現(xiàn),copy僅拷貝對象本身,deepcopy是真正意義上的復(fù)制,深拷貝,被復(fù)制對象完全復(fù)制一遍作為獨立的新個體,新開辟一塊空間,需要詳細了解的朋友可以參考下
    2021-10-10
  • python調(diào)用百度語音識別api

    python調(diào)用百度語音識別api

    這篇文章主要介紹了python調(diào)用百度語音識別api,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Python基礎(chǔ)之函數(shù)用法實例詳解

    Python基礎(chǔ)之函數(shù)用法實例詳解

    這篇文章主要介紹了Python中函數(shù)用法,包括了函數(shù)的創(chuàng)建、定義、參數(shù)等,需要的朋友可以參考下
    2014-09-09

最新評論