日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

今天再為大家介紹下使用這個工具如何監(jiān)控手機上網(wǎng),并且通過抓包,把我們想要的數(shù)據(jù)下載下來。

啟動 mitmproxy

首先我們通過執(zhí)行命令 mitmweb 啟動 mitmproxy,讓它處理監(jiān)聽狀態(tài),服務(wù)會監(jiān)聽本機 8080 端口,啟動后如下:

$ mitmweb
Web server listening at http://127.0.0.1:8081/
Proxy server listening at http://*:8080

手機網(wǎng)絡(luò)配置

  1. 保證手機和電腦在同一局域網(wǎng)內(nèi),并查看電腦的局域網(wǎng) IP 地址是多少以備用,查看方式可以用命令查看,如 windows 系統(tǒng)用 ipconfig 命令,mac 或 linux 則用命令 ifconfig,看到如下圖所示,找到本機在局域網(wǎng)的 IP 地址。
教你用 Python 下載手機小視頻

 

不同操作系統(tǒng),可能展示結(jié)果不同,在這里我們可以看到紅框里我本機的 IP 地址為 192.168.0.108。

  1. 配置手機代理地址,比如以下用 iphone 手機進行配置,打開設(shè)置 -> 無線局域網(wǎng) -> 點現(xiàn)在連接的網(wǎng)絡(luò) -> 點最下面點 HTTP 代理配置,選擇手動后,配置代理地址為我們電腦的 IP地址和 mitmproxy 的監(jiān)聽端口,配置如下圖所示:
教你用 Python 下載手機小視頻

 

  1. 現(xiàn)在我們就可以讓手機通過電腦上網(wǎng)了,不過目前手機 App 都是通過 HTTPS 加密請求,所以我們需要在手機上安裝個 mitmproxy 的 HTTPS 證書。接下來我們打開手機瀏覽器,輸入網(wǎng)址:mitm.it,打開如下圖所示頁面,選擇對應(yīng)手機的操作系統(tǒng),下載證書并安裝。
教你用 Python 下載手機小視頻

 

在這里我點 Apple 的圖標下載證書,下載后等待安裝:

教你用 Python 下載手機小視頻

 

單擊上面的安裝,可能會出現(xiàn)信任的提示,只要選擇信任證書就可以了,下面是安裝好的界面如下圖:

教你用 Python 下載手機小視頻

 

好了,配置完成下面我們點開個手機 APP 看到電腦 mitmweb 的頁面上,已經(jīng)出現(xiàn)請求內(nèi)容了。

教你用 Python 下載手機小視頻

 

編寫下載腳本

好了,現(xiàn)在經(jīng)過分析攔截的請求,我們開始用 Python/ target=_blank class=infotextkey>Python 編寫代碼,通過解析視頻的 url 將視頻下載到本地。在這里我們先來打印下數(shù)據(jù),新建文件 xiaoshipin.py,然后編寫如下代碼,實現(xiàn)將已編碼的 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)

編輯完后保存,然后執(zhí)行命令:mitmweb -s xiaoshipin.py,帶上這段腳本來運行我們的代理服務(wù),刷新幾個視頻,會看到如下圖所示內(nèi)容:

教你用 Python 下載手機小視頻

 

其中就包含了我們需要的下載地址信息,接下來我們只需提取視頻的 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']
        # 設(shè)置下載路徑
        path='/Users/xx/shipin'
        # 如果文件夾不存在,則新建
        if not os.path.exists(path):
            os.mkdir(path)

        # 循環(huán)所有視頻 url
        for each in video_url:
            #視頻描述
            desc=each['desc']
            url=each['video']['play_addr']['url_list'][0]
            # 設(shè)置視頻名稱
            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,'下載完畢')

上面我已經(jīng)把相關(guān)代碼注釋好了,現(xiàn)在我們保存編輯好的代碼,然后再次執(zhí)行命令:mitmweb -s xiaoshipin.py,啟動監(jiān)聽服務(wù)。然后打開手機再次下視頻,就會看到視頻是不是已經(jīng)都存到本地了。

教你用 Python 下載手機小視頻

 

總結(jié)

本文為大家介紹了如何通過 mitmproxy 工具下載手機上瀏覽的小視頻,當然除了視頻他還可以下載音樂啊圖片啊什么的,只要你能通過攔截工具分析你想要的內(nèi)容在哪個請求中,然后對這個請求返回內(nèi)容進行搜索分析,然后再用今天這個工具,再通過簡單的 Python 編碼實現(xiàn)自動處理完成就可以了。

分享到:
標簽:小視頻
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定