利用python下载视频,python视频下载器
本文主要介绍Python下载手机视频,主要介绍如何利用抓包工具mitmproxy监控手机上网,通过抓包下载我们想要的数据。有需要的朋友可以参考一下。
00-1010启动mitmproxy手机网络配置下载页面,编写下载脚本。今天就给大家介绍一下如何使用一个抓包工具mitmproxy来监控手机上网,通过抓包来下载我们想要的数据。
目录
首先,我们通过执行命令mitmweb来启动mitmproxy,并让它处理监听状态。该服务将侦听本地端口8080。启动后,如下所示:
$ mitmweb
网络服务器监听http://. 0 . 0/
代理服务器监听http://*:8080
启动 mitmproxy
1.确保手机和电脑在同一个局域网内,检查电脑局域网的IP地址进行备份。检查模式可以通过命令来检查,如Windows系统。
Ipconfig命令,而ifconfig命令用于Mac或Linux。如下图所示,找到局域网的IP地址。
不同的操作系统可能会显示不同的结果。在这里,我们可以看到红框中我的电脑的IP地址是192.168.0.108。
2.配置手机代理地址,比如下面用iphone配置,打开设置-WLAN-点击现在连接的网络-点击底部的HTTP生成。
选择手动后,将代理地址配置为我们计算机的IP地址和mitmproxy的监控端口,如下图所示:
3.现在我们可以通过电脑让手机上网了。然而,目前所有的手机应用程序都通过HTTPS加密请求,所以我们需要在手机上安装一个。
HTTPS三菱公司证书。接下来我们打开手机浏览器,输入网址:mitm.it,打开下图所示的页面,选择对应手机的操作系统。
下载证书并安装。
手机网络配置
这里我点击苹果的图标下载证书,下载后等待安装:
单击上面的“安装”,可能会提示您信任。只需选择信任证书。下面安装的界面如下:
好了,配置完成后,我们点开一个手机APP,看到请求的内容已经出现在电脑mitmweb的页面上。
下载页
好了,现在分析完拦截的请求,我们开始用Python写代码,通过解析视频的url在本地下载视频。来,我们先打印出来。
数据,新建一个文件xiaoshipin.py,然后编写下面的代码,将编码后的json字符串解码成python对象:
#xiaoshipin.py
导入json
定义响应(流量):
URL= https://API . amemv.com/awe me/v1/awe me/post/
#过滤掉以上述URL开头的URL
if flow . request . URL . starts with(URL):
text=flow.response.text
#将编码的json字符串解码成python对象
data=json.loads(文本)
打印(数据)
编辑好后保存,然后执行命令:mitmweb -s xiaoshipin.py拿这个脚本运行我们的代理服务,刷新几个视频,你会看到下图所示的内容:
它包含了我们需要的下载地址信息。接下来,我们只需要提取视频的url,并将视频缓存在本地。
我们来修改一下上面的xiaoshipin.py的代码,完善一下视频下载的功能。
#xiaoshipin.py
#导入包
导入json,os
导入请求
#仅拦截和处理退货请求
定义响应(流量):
#请求的url
URL= https://API . amemv.com/awe me/v1/awe me/post/
#过滤掉以上述URL开头的URL
if flow . request . URL . starts with(URL):
text=flow.response.text
#将编码的json字符串解码成python对象
data=json.loads(文本)
#刚刚分析了我看到的每个视频的所有信息
#一切尽在aweme_list
video_url=data[aweme_list]
#设置下载路径
path=/Users/xx/shipin
#如果文件夹不存在,请创建一个新文件夹
如果不是os.path.exists(path):
os.mkdir(路径)
#循环浏览所有视频网址
对于video_url:中的每个
#视频描述
desc=每个[desc]
URL=each[ video ][ play _ addr ][ URL _ list ][0]
#设置视频名称
文件名=路径/ desc .mp4
#用请求请求视频流
req=requests.get(url=url,verify=False)
#保存视频文件
打开(文件名, ab )为f:
f.write(请求内容)
f .冲洗()
打印(文件名,“下载完成”)
上面的相关代码我已经注释过了。现在我们保存编辑好的代码,然后再次执行命令:mitmweb -s xiaoshipin.py来启动监控服务。
然后打开手机再次下载视频,你会看到是否所有的视频都已经保存在本地。
这篇关于Python下载手机视频的文章到此为止。关于Python下载手机视频的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望你以后能支持风行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。