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

Python下載手機(jī)小視頻的操作方法

 更新時(shí)間:2022年04月18日 15:29:42   作者:螞蟻ailing  
這篇文章主要介紹了Python 下載手機(jī)小視頻,主要為大家介紹使用 mitmproxy 這個(gè)抓包工具如何監(jiān)控手機(jī)上網(wǎng),并且通過抓包,把我們想要的數(shù)據(jù)下載下來,需要的朋友可以參考下

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

啟動(dòng) mitmproxy

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

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

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

1.保證手機(jī)和電腦在同一局域網(wǎng)內(nèi),并查看電腦的局域網(wǎng) IP 地址是多少以備用,查看方式可以用命令查看,如 Windows 系統(tǒng)用

ipconfig 命令,Mac 或 Linux 則用命令 ifconfig,看到如下圖所示,找到本機(jī)在局域網(wǎng)的 IP 地址。

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

2.配置手機(jī)代理地址,比如以下用 iphone 手機(jī)進(jìn)行配置,打開設(shè)置 -> 無線局域網(wǎng) -> 點(diǎn)現(xiàn)在連接的網(wǎng)絡(luò) -> 點(diǎn)最下面點(diǎn) HTTP 代

理配置,選擇手動(dòng)后,配置代理地址為我們電腦的 IP地址和 mitmproxy 的監(jiān)聽端口,配置如下圖所示:

3.現(xiàn)在我們就可以讓手機(jī)通過電腦上網(wǎng)了,不過目前手機(jī) App 都是通過 HTTPS 加密請(qǐng)求,所以我們需要在手機(jī)上安裝個(gè)

mitmproxy 的 HTTPS 證書。接下來我們打開手機(jī)瀏覽器,輸入網(wǎng)址:mitm.it,打開如下圖所示頁面,選擇對(duì)應(yīng)手機(jī)的操作系統(tǒng),

下載證書并安裝。

下載頁

在這里我點(diǎn) Apple 的圖標(biāo)下載證書,下載后等待安裝:

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

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

編寫下載腳本

好了,現(xiàn)在經(jīng)過分析攔截的請(qǐng)求,我們開始用 Python 編寫代碼,通過解析視頻的 url 將視頻下載到本地。在這里我們先來打印下

數(shù)據(jù),新建文件 xiaoshipin.py,然后編寫如下代碼,實(shí)現(xiàn)將已編碼的 json 字符串解碼為 python 對(duì)象:

#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對(duì)象        
 data=json.loads(text)        
 print(data)

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

其中就包含了我們需要的下載地址信息,接下來我們只需提取視頻的 url ,并且緩存視頻到本地就 OK 了。

下面我們就來修改上面的 xiaoshipin.py 的代碼,完善下視頻下載的功能。

#xiaoshipin.py

#引入包
import json,os
import requests

#只攔截并處理返回請(qǐng)求
def response(flow):    
#請(qǐng)求的 url    
url='https://api.amemv.com/aweme/v1/aweme/post/'    
#篩選出以上面url為開頭的url    
if flow.request.url.startswith(url):        
text=flow.response.text        
#將已編碼的json字符串解碼為python對(duì)象        
data=json.loads(text)        
#剛分析看到每一個(gè)視頻的所有信息        
#都在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 請(qǐng)求視頻流            
  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,啟動(dòng)監(jiān)聽服務(wù)。

然后打開手機(jī)再次下視頻,就會(huì)看到視頻是不是已經(jīng)都存到本地了。

到此這篇關(guān)于Python 下載手機(jī)小視頻的文章就介紹到這了,更多相關(guān)Python 下載手機(jī)小視頻內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • django如何自定義manage.py管理命令

    django如何自定義manage.py管理命令

    這篇文章主要介紹了django如何自定義manage.py管理命令,幫助大家更好的理解和學(xué)習(xí)使用django框架,感興趣的朋友可以了解下
    2021-04-04
  • Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)從序列中移除重復(fù)項(xiàng)且保持元素間順序不變的方法

    Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)從序列中移除重復(fù)項(xiàng)且保持元素間順序不變的方法

    這篇文章主要介紹了Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)從序列中移除重復(fù)項(xiàng)且保持元素間順序不變的方法,涉及Python針對(duì)列表與字典的元素遍歷、判斷、去重、排序等相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • Pytorch .pth權(quán)重文件的使用解析

    Pytorch .pth權(quán)重文件的使用解析

    今天小編就為大家分享一篇Pytorch .pth權(quán)重文件的使用解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python中os模塊的簡單使用及重命名操作

    Python中os模塊的簡單使用及重命名操作

    這篇文章主要給大家介紹了關(guān)于Python中os模塊的簡單使用及重命名操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • python web自制框架之接受url傳遞過來的參數(shù)實(shí)例

    python web自制框架之接受url傳遞過來的參數(shù)實(shí)例

    今天小編就為大家分享一篇python web自制框架之接受url傳遞過來的參數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 分享6個(gè)隱藏的python功能

    分享6個(gè)隱藏的python功能

    給大家詳細(xì)分析了6個(gè)隱藏的python功能,并詳細(xì)講解了每個(gè)功能用法,需要的朋友學(xué)習(xí)下吧。
    2017-12-12
  • 用ReactJS和Python的Flask框架編寫留言板的代碼示例

    用ReactJS和Python的Flask框架編寫留言板的代碼示例

    這篇文章主要介紹了用ReactJS和Python的Flask框架編寫留言板的代碼示例,其他的話用到了MongoDB這個(gè)方便使用JavaScript來操作的數(shù)據(jù)庫,需要的朋友可以參考下
    2015-12-12
  • Python常用數(shù)字處理基本操作匯總

    Python常用數(shù)字處理基本操作匯總

    這篇文章主要介紹了Python常用數(shù)字處理基本操作匯總,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • python簡單實(shí)現(xiàn)刷新智聯(lián)簡歷

    python簡單實(shí)現(xiàn)刷新智聯(lián)簡歷

    本文給大家分享的是個(gè)人弄的一個(gè)使用Python簡單實(shí)現(xiàn)刷新智聯(lián)招聘簡歷的小工具的代碼,非常的簡單,給大家參考下吧。
    2016-03-03
  • Python實(shí)現(xiàn)隨機(jī)漫步功能

    Python實(shí)現(xiàn)隨機(jī)漫步功能

    隨機(jī)漫步生成是無規(guī)則的,是系統(tǒng)自行選擇的結(jié)果。接下來通過本文給大家介紹Python實(shí)現(xiàn)隨機(jī)漫步功能,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-07-07

最新評(píng)論