背景
上次分享《小鹅通视频怎么下载?用python实现小鹅通视频下载(一)》后,引来了很多人咨询小鹅通视频怎么下载的问题。
其实咨询的人大多是不懂python语言的人,也有一部分人压根就不会编程,对与压根就不会编程的人来说我也无能为力,毕竟程序就摆在了哪里,找到视频连接地址执行程序就可以下载了;
对于会python的人来说也在咨询一个问题,那就是视频的url地址怎么找出来,毕竟小鹅通的视频无法通过浏览器进行浏览访问,浏览器的调试模式也就用不上了,针对这个问题还是比较好解决的,今天就给大家推荐一款python的中间人代理模块mitmproxy
,大家看我如何使用mitmproxy模块获取小鹅通视频连接地址的,结合上期的《小鹅通视频怎么下载?用python实现小鹅通视频下载(一)》达到视频轻松下载的目的
mitmproxy
mitmproxy是什么我这里就不具体说了,不知道了赶紧百度吧
1、创建python环境
我这里的python环境是3.8.0版本 创建一个文件夹xet_down 进入文件夹xet_down 使用命令窗口执行如下命令 注意windows与linux是又区别的,我这里就使用windows命令吧 创建python虚拟环境
python -m venv venv
激活python虚拟环境
# powershell
.\venv\Scripts\Activate.ps1
# cmd
.\venv\Scripts\activate.bat
正确进入后命令行前面会出现(venv)
2、安装mitmproxy
pip install mitmproxy
pip install requests
pip install pycryptodome
3、编写mitmproxy插件脚本
mitmproxy 插件脚本是用来过滤小鹅通视频地址的,获取地址后就根据上篇文章脚本进行下载,话不多说直接上代码:
# 定义函数,flow代表经过中间人的所有数据
import time
from download_m3u8 import m3u8
def response(flow):
url = flow.request.url
if '.m3u8' in url:
print(url)
if m3u8(url):
print('下载完成')
将上述文件保存到xet_down目录下xet.py
download_m3u8
是上篇中的脚本保存的文件名 download_m3u8.py
,并将改文件保存到xet_down目录下即可
4、启动mitmproxy并执行脚本
mitmdump -p 8000 -s .\xet.py
这里启动了代理端口为8000
5、查看电脑ip地址
ipconfig
我电脑的ip地址是 192.168.0.116
6、手机下载证书
使用手机浏览器访问 https://mitm.it/
这里针对自己的手机系统下载相应的版本的证书,现在完后点击安装即可
7、手机设置下上网代理
手机一定要和电脑在同一个网络
简单来讲就是手机要甚至代理上网,安卓手机和苹果手机设置时不一样的,我这里简单说下我的安卓手机的
设置->wlan->选择连接的wifi名称
8、通过手机打开小鹅通的视频
这个时候其实手机上的所有请求操作都会被拦截到,用我们写好的脚本就可以自动进行视频下载了
总结
这里只是列举了小鹅通的视频,其实这程序不是针对小鹅通视频的,是针对所有请求.m3u8
视频格式,除了小鹅通视频外,也可以下载其他平台上的.m3u8
格式视频,那如果想下载其他格式的视频怎么办呢?很简单,写个mitmproxy的扩展脚本即可,类似与xet.py , 如果不会python语言,赶紧关注公众号何三笔记,回复 1
获取python快速入门资料。
文章内容仅供学习技术讨论使用,请勿非法使用!