利用python下载视频,python视频下载器

  利用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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: