<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
今天為大家介紹使用 mitmproxy 這個抓包工具如何監控手機上網,並且通過抓包,把我們想要的資料下載下來。
首先我們通過執行命令 mitmweb 啟動mitmproxy,讓它處理監聽狀態,服務會監聽本機 8080 埠,啟動後如下:
$ mitmweb Web server listening at http://127.0.0.1:8081/ Proxy server listening at http://*:8080
1.保證手機和電腦在同一區域網內,並檢視電腦的區域網 IP 地址是多少以備用,檢視方式可以用命令檢視,如 Windows 系統用
ipconfig 命令,Mac 或 Linux 則用命令 ifconfig,看到如下圖所示,找到本機在區域網的 IP 地址。
不同作業系統,可能展示結果不同,在這裡我們可以看到紅框裡我本機的 IP 地址為 192.168.0.108。
2.設定手機代理地址,比如以下用 iphone 手機進行設定,開啟設定 -> 無線區域網 -> 點現在連線的網路 -> 點最下面點 HTTP 代
理設定,選擇手動後,設定代理地址為我們電腦的 IP地址和 mitmproxy 的監聽埠,設定如下圖所示:
3.現在我們就可以讓手機通過電腦上網了,不過目前手機 App 都是通過 HTTPS 加密請求,所以我們需要在手機上安裝個
mitmproxy 的 HTTPS 證書。接下來我們開啟手機瀏覽器,輸入網址:mitm.it,開啟如下圖所示頁面,選擇對應手機的作業系統,
下載證書並安裝。
在這裡我點 Apple 的圖示下載證書,下載後等待安裝:
單擊上面的安裝,可能會出現信任的提示,只要選擇信任證書就可以了,下面是安裝好的介面如下圖:
好了,設定完成下面我們點開個手機 APP 看到電腦 mitmweb 的頁面上,已經出現請求內容了。
好了,現在經過分析攔截的請求,我們開始用 Python 編寫程式碼,通過解析視訊的 url 將視訊下載到本地。在這裡我們先來列印下
資料,新建檔案 xiaoshipin.py,然後編寫如下程式碼,實現將已編碼的 json 字串解碼為 python 物件:
#xiaoshipin.py import json def response(flow): url='https://api.amemv.com/aweme/v1/aweme/post/' #篩選出以上面url為開頭的url if flow.request.url.startswith(url): text=flow.response.text #將已編碼的json字串解碼為python物件 data=json.loads(text) print(data)
編輯完後儲存,然後執行命令:mitmweb -s xiaoshipin.py
,帶上這段指令碼來執行我們的代理服務,重新整理幾個視訊,會看到如下圖所示內容:
其中就包含了我們需要的下載地址資訊,接下來我們只需提取視訊的 url ,並且快取視訊到本地就 OK 了。
下面我們就來修改上面的 xiaoshipin.py 的程式碼,完善下視訊下載的功能。
#xiaoshipin.py #引入包 import json,os import requests #只攔截並處理返回請求 def response(flow): #請求的 url url='https://api.amemv.com/aweme/v1/aweme/post/' #篩選出以上面url為開頭的url if flow.request.url.startswith(url): text=flow.response.text #將已編碼的json字串解碼為python物件 data=json.loads(text) #剛分析看到每一個視訊的所有資訊 #都在aweme_list中 video_url=data['aweme_list'] #設定下載路徑 path='/Users/xx/shipin' #如果資料夾不存在,則新建 if not os.path.exists(path): os.mkdir(path) # 迴圈所有視訊 url for each in video_url: #視訊描述 desc=each['desc'] url=each['video']['play_addr']['url_list'][0] # 設定視訊名稱 filename=path+'/'+desc+'.mp4' # 用 request 請求視訊流 req=requests.get(url=url,verify=False) # 儲存視訊檔 with open(filename,'ab') as f: f.write(req.content) f.flush() print(filename,'下載完畢')
上面我已經把相關程式碼註釋好了,現在我們儲存編輯好的程式碼,然後再次執行命令:mitmweb -s xiaoshipin.py,啟動監聽服務。
然後開啟手機再次下視訊,就會看到視訊是不是已經都存到本地了。
到此這篇關於Python 下載手機小視訊的文章就介紹到這了,更多相關Python 下載手機小視訊內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45