溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么用Python抓包工具查看周邊拼車情況

發(fā)布時間:2022-05-09 13:36:16 來源:億速云 閱讀:152 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“怎么用Python抓包工具查看周邊拼車情況”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么用Python抓包工具查看周邊拼車情況”吧!

知己知彼,百戰(zhàn)不殆

對于APP類的爬蟲,首先想到的就是抓包,macOS下常用的就是Charles和mitmproxy這兩款工具了,而mitmproxy由于支持?jǐn)r截和腳本又深得我愛,用法的話這里就不具體展開介紹了。

啟動mitmweb(mitmproxy家那個有頁面的兄弟)抓包工具,手機(jī)上打開某拼車APP客戶端,查看附近訂單(已提前認(rèn)證車主,并切換到車主身份)

怎么用Python抓包工具查看周邊拼車情況

對應(yīng)一下就可以發(fā)現(xiàn),查詢附近訂單的接口URL就是這個getNearbyBookingRideList,于是我很天真地就拿著這個接口,和抓包數(shù)據(jù),就去請求了

怎么用Python抓包工具查看周邊拼車情況

結(jié)果人家告訴我

{“code”:205,”message”:”簽名錯誤!”}

因?yàn)榭蛻舳薃PP有個簽名算法,根據(jù)POST給服務(wù)器的參數(shù)計(jì)算的,除非我破了人家APP,然后把算法給找出來,想想還是算了,費(fèi)神費(fèi)力(主要是我壓根不會)!

這個法子行不通,只能換個法子了

神器在手,天下我有

前面提到mitmproxy有個帶web界面的兄弟叫mitmweb,其實(shí)還有一個支持腳本的兄弟叫mitmdump,寫好腳本

import json
def response(flow):
# 這個別問為啥了,必須這么寫
   url = 'http://jiaruwoshiurl.com'
   if url in flow.request.url:
       text = json.loads(flow.response.content)
       print(text)

把腳本存為 111.py,然后終端執(zhí)行命令:

mitmdump -s 111.py -p 8080 剩下要做的就是不斷去某拼車APP上劃幾下,至于數(shù)據(jù)那塊,就交給Dump兄弟就好了

嗯,看到了嘛~想看哪,手指就滑哪,越滑越有!

怎么用Python抓包工具查看周邊拼車情況

再接下來就是需要把我們抓到的數(shù)據(jù)存起來,以備后期使用,這里我用的是Mongodb,雖然也是第一次用,為了方便點(diǎn),另外寫了個插入數(shù)據(jù)的方法,再在爬蟲文件里面調(diào)用。

import pymongo
def insert_nearbyroute(info):
   client = pymongo.MongoClient('127.0.0.1', 27017)
   # 連接數(shù)據(jù)庫
   db = client.dida
   # 選擇dida這個數(shù)據(jù)庫
   nearbyroute_collection = db.nearby
   # 選擇集合,不存在的話自動創(chuàng)建(對應(yīng)mysql的表概念)
   nearbyroute_collection.update({:info['id']}, info, True)
   # 插入數(shù)據(jù),我這里用的是更新語句,意思是如果id已經(jīng)存在的話,就不執(zhí)行該條數(shù)據(jù)的插入動作,可以有效去重

再到我們數(shù)據(jù)庫看看,已經(jīng)碩果累累了,不夠的話就再多滑幾下。

怎么用Python抓包工具查看周邊拼車情況

數(shù)據(jù)抓取的思路大概就是這樣,因?yàn)闆]時間搗鼓所以就沒上APP自動化,其實(shí)可以搞個 模擬器+按鍵精靈,或者appium,就是太懶了怕麻煩,上班的時候劃一劃就當(dāng)運(yùn)動了

數(shù)據(jù)展示

時間問題,暫時沒做數(shù)據(jù)分析,不過數(shù)據(jù)挺干凈的,也不需要處理啥 關(guān)鍵字Mongodb、Pandas、Pyecharts 拿了周六杭州跨城順風(fēng)車數(shù)據(jù)結(jié)合阿里云的DataV做了個簡單的飛線圖,會動的那種,點(diǎn)擊閱讀原文可以查看動圖。

怎么用Python抓包工具查看周邊拼車情況

到此,相信大家對“怎么用Python抓包工具查看周邊拼車情況”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI