教你用 Python 下载手机小视频
off999 2024-11-27 18:48 44 浏览 0 评论
今天再为大家介绍下使用这个工具如何监控手机上网,并且通过抓包,把我们想要的数据下载下来。
启动 mitmproxy
首先我们通过执行命令 mitmweb 启动 mitmproxy,让它处理监听状态,服务会监听本机 8080 端口,启动后如下:
$ mitmweb
Web server listening at http://127.0.0.1:8081/
Proxy server listening at http://*:8080手机网络配置
- 保证手机和电脑在同一局域网内,并查看电脑的局域网 IP 地址是多少以备用,查看方式可以用命令查看,如 Windows 系统用 ipconfig 命令,Mac 或 Linux 则用命令 ifconfig,看到如下图所示,找到本机在局域网的 IP 地址。
不同操作系统,可能展示结果不同,在这里我们可以看到红框里我本机的 IP 地址为 192.168.0.108。
- 配置手机代理地址,比如以下用 iphone 手机进行配置,打开设置 -> 无线局域网 -> 点现在连接的网络 -> 点最下面点 HTTP 代理配置,选择手动后,配置代理地址为我们电脑的 IP地址和 mitmproxy 的监听端口,配置如下图所示:
- 现在我们就可以让手机通过电脑上网了,不过目前手机 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,启动监听服务。然后打开手机再次下视频,就会看到视频是不是已经都存到本地了。
总结
本文为大家介绍了如何通过 mitmproxy 工具下载手机上浏览的小视频,当然除了视频他还可以下载音乐啊图片啊什么的,只要你能通过拦截工具分析你想要的内容在哪个请求中,然后对这个请求返回内容进行搜索分析,然后再用今天这个工具,再通过简单的 Python 编码实现自动处理完成就可以了。
相关推荐
- 小米平板1(小米平板1刷安卓10稳定版)
-
小米平板1有开发版。具体来说,小米平板1最初发布时,已经提供了一套完整的ROM(即”MIUI“系统)供用户使用,这套系统包含了越来越多的功能,以满足用户的需求。同时,小米也会发布一些针对开发人员的版本...
- 配置windows update已完成100%
-
楼主我的情况跟你类似我是删除了windows更新清理文件15g左右然后昨天删除之后正常关机,今天早上一来电脑开机然后就一直在“配置Windowsupdate已完成100%请勿关闭计算...
- 自己制作pe系统(自己制作pe系统最简单三个步骤)
-
1,在搜索框输入pe系统,下载pe的制作软件2,点击下载按钮3,安装完了以后一般会有个启动图标4,打开PE制作软件,插上U盘,软件会自动识别,点击开始制作按钮5,也可以点击高级设置按钮6,在高级界面可...
- 阿里云盘ios版(阿里云盘 安卓版)
-
阿里云盘目前是可以使用ipad的。iPad可以下载阿里云盘。阿里云盘是一款速度快、不打扰、够安全、易于分享的网盘,由阿里巴巴集团出品。阿里云盘最大的亮点就是全员不限速,曾公布“无论免费付费,未来都不...
- 惠普打印机怎么用(惠普打印机怎么用微信打印文件)
-
1、首先要确保打印机在电脑里的程序安装完成,以及数据线连接正常。2、将需要扫描的文件放置在打印机面板上,并盖好盖子。3、打开“我的电脑”,找到控制面板进入,锁定“硬件和声音”功能。点击“查看设备的打印...
- 老电脑装xp打不开网站(老电脑装xp打不开网站怎么回事)
-
原因分析及解决方法:1.宽带未连接。重新连接宽带。2.路由器故障。拆除路由器后,进行宽带连接试用。3.偶发性故障,如ADSL断流,电脑内存数据溢出等。重启电脑、modem试用。4.浏览器故障,应用不恰...
- win7系统破解激活工具(windows7破解激活)
-
方法如下:1、开机到欢迎界面时,按Ctrl+Alt+Delete,跳出帐号窗口,输入用户名:administrator,回车。2、如果这个帐号也有密码采用开机启动时按F8选“带命令行的安全模式”。...
- 怎么制作winpeu盘启动盘(制作winpe启动盘有什么作用)
-
我们应先理解U盘启动盘:简单理解就是用U盘启动盘代替电脑以前的光驱,所以它只有3个最基本的功能:1、帮助电脑正常启动。比如电脑无限在启动界面循环;2、格式化硬盘。格式化硬盘所有分区,再重新分区;3、重...
- 磁力搜索引擎入口(磁力搜索器引擎)
-
01.磁力熊磁力熊,是一个内容丰富、功能最为强大的一个磁力搜索网站,通过它不仅仅可以搜索到大量纯净的1080P高分电影,像一些比较小众的影视剧这里也都能找到。02.夕阳小站夕阳小站,虽然网站整体界面设...
- 手机变成安全模式怎么解除(手机变成安全模式是怎么回事)
-
解除比较安全模式的方法主要有三种:1、按电源键长按机器会弹出重启菜单,将手机重启即可解除比较安全模式。2、查询手机操作手册,进入设置里找到“比较安全模式”,可以改变比较安全模式的状态,即可解除比较安全...
-
- win7官方最小精简版(最小win7精简版系统239m)
-
推荐win7系统精简版一、雨林木风系统v1906雨林雨林木风GhostWin7SP1旗舰版一如既往注重稳定与安全,本次6月版本更新优化注册表增强系统运行效率,不对系统关键文件进行修改保证稳定性,关闭系统可能会感染病毒的端口,更新最新...
-
2026-01-11 14:51 off999
- 华硕牌子电脑怎么样(华硕牌子电脑怎么样值得买吗)
-
1、华硕笔记本电脑在市场上有很高的认知度和认可度。除了在零售市场有出色口碑外,在特殊领域华硕笔记本一样有惊人的表现;2、华硕笔记本电脑的优点在于它的主板性能好还有就是它的散热效果也不错,性能比较稳定;...
- 两个文件夹内容自动同步(两个文件夹内容自动同步,删除不了)
-
D:盘中点右键,新建公文包B,将文件夹A拖到公文包B中。如果以后文件夹A中的文件修改了,打开公文包B,点菜单上的“公文包、全部更新”。则公文包B就会自动更新文件,与文件夹A中的保持一致。这种方法可以有...
- 无法删除的文件夹怎么删(无法删除文件夹或文件的原因有哪些)
-
删除不了的软件、文件或文件夹的解决方法:1、开机按F8不动,到高级选项出现在松开手,用上下键选安全模式,按照提示进入到安全模式中删除即可(安全模式与正常模式操作一样)。2、如果使用其他办法无法删...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
