美文网首页
教你用 Python 下载手机小视频

教你用 Python 下载手机小视频

作者: 程序媛_lisa | 来源:发表于2022-03-24 11:43 被阅读0次

    今天为大家介绍下使用这个工具如何监控手机上网,并且通过抓包,把我们想要的数据下载下来。

    启动 mitmproxy

    首先我们通过执行命令 mitmweb 启动mitmproxy,让它处理监听状态,服务会监听本机 8080 端口,启动后如下:

    $ mitmweb
    

    手机网络配置

    1. 保证手机和电脑在同一局域网内,并查看电脑的局域网 IP 地址是多少以备用,查看方式可以用命令查看,如 Windows 系统用 ipconfig 命令,Mac 或 Linux 则用命令 ifconfig,看到如下图所示,找到本机在局域网的 IP 地址。
    图片

    不同操作系统,可能展示结果不同,在这里我们可以看到红框里我本机的 IP 地址为 192.168.0.108。

    1. 配置手机代理地址,比如以下用 iphone 手机进行配置,打开设置 -> 无线局域网 -> 点现在连接的网络 -> 点最下面点 HTTP 代理配置,选择手动后,配置代理地址为我们电脑的 IP地址和 mitmproxy 的监听端口,配置如下图所示:
    图片
    1. 现在我们就可以让手机通过电脑上网了,不过目前手机 App 都是通过 HTTPS 加密请求,所以我们需要在手机上安装个 mitmproxy 的 HTTPS 证书。接下来我们打开手机浏览器,输入网址:mitm.it,打开如下图所示页面,选择对应手机的操作系统,下载证书并安装。
    图片

    <figcaption style="margin: 5px 0px 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box; overflow-wrap: break-word !important; text-align: center; color: rgb(136, 136, 136); font-size: 14px;">下载页</figcaption>

    在这里我点 Apple 的图标下载证书,下载后等待安装:

    图片

    <figcaption style="margin: 5px 0px 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box; overflow-wrap: break-word !important; text-align: center; color: rgb(136, 136, 136); font-size: 14px;">待安装</figcaption>

    图片

    <figcaption style="margin: 5px 0px 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box; overflow-wrap: break-word !important; text-align: center; color: rgb(136, 136, 136); font-size: 14px;">点安装</figcaption>

    单击上面的安装,可能会出现信任的提示,只要选择信任证书就可以了,下面是安装好的界面如下图:

    图片

    <figcaption style="margin: 5px 0px 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box; overflow-wrap: break-word !important; text-align: center; color: rgb(136, 136, 136); font-size: 14px;">安装成功</figcaption>

    好了,配置完成下面我们点开个手机 APP 看到电脑 mitmweb 的页面上,已经出现请求内容了。

    图片

    <figcaption style="margin: 5px 0px 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box; overflow-wrap: break-word !important; text-align: center; color: rgb(136, 136, 136); font-size: 14px;">安装成功</figcaption>

    编写下载脚本

    好了,现在经过分析拦截的请求,我们开始用 Python 编写代码,通过解析视频的 url 将视频下载到本地。在这里我们先来打印下数据,新建文件 xiaoshipin.py,然后编写如下代码,实现将已编码的 json 字符串解码为 python 对象:

    # xiaoshipin.py
    

    编辑完后保存,然后执行命令:mitmweb -s xiaoshipin.py,带上这段脚本来运行我们的代理服务,刷新几个视频,会看到如下图所示内容:

    image.gif

    其中就包含了我们需要的下载地址信息,接下来我们只需提取视频的 url ,并且缓存视频到本地就 OK 了。

    下面我们就来修改上面的 xiaoshipin.py 的代码,完善下视频下载的功能。

    #xiaoshipin.py
    

    上面我已经把相关代码注释好了,现在我们保存编辑好的代码,然后再次执行命令:mitmweb -s xiaoshipin.py,启动监听服务。然后打开手机再次下视频,就会看到视频是不是已经都存到本地了。

    图片

    总结

    本文为大家介绍了如何通过 mitmproxy工具下载手机上浏览的小视频,当然除了视频他还可以下载音乐啊图片啊什么的,只要你能通过拦截工具分析你想要的内容在哪个请求中,然后对这个请求返回内容进行搜索分析,然后再用今天这个工具,再通过简单的 Python 编码实现自动处理完成就可以了。

    相关文章

      网友评论

          本文标题:教你用 Python 下载手机小视频

          本文链接:https://www.haomeiwen.com/subject/mfmkjrtx.html