前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >mac下使用pyhon+mimtdump 爬取m3u8

mac下使用pyhon+mimtdump 爬取m3u8

作者头像
全栈程序员站长
发布于 2021-05-19 07:54:02
发布于 2021-05-19 07:54:02
54100
代码可运行
举报
运行总次数:0
代码可运行

pyhon代码

test.py文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding: utf-8 -*-
import json
import threading

import requests
import subprocess, sys, os


def check_json_format(raw_msg):
    """ 用于判断一个字符串是否符合Json格式 :param self: :return: """
    if isinstance(raw_msg, str):  # 首先判断变量是否为字符串
        try:
            json.loads(raw_msg, encoding='utf-8')
        except ValueError:
            return False
        return True
    else:
        return False


def response(flow):
	#例如:
    # https://open.com/43567890/TYUI678/678iu.m3u8
    # http://abc.com/api/play/5678?uuid=tyu567tyu789&device=0

    url = 'api/play'
    if url in flow.request.url:
        text = flow.response.text
        if check_json_format(text):
            data_json = json.loads(text)
            if data_json and data_json.get('resp').get('path'): #判断json中有这些节点
                rescont = data_json.get('resp')
                videopath = rescont.get('path')
                title = rescont.get('title')
                print(videopath)
                filename = title + '.mp4'
                print(filename)
                t = threading.Thread(target=exec_cmd(videopath, filename))  # 创建一个线程
                t.start()  # 启动线程
                print( filename,'下载完成')


def exec_cmd(videopath, filename):
    cmd = 'ffmpeg -i ' + videopath + ' -c copy ' + filename
    print(cmd)
    cmd = cmd.encode(sys.getfilesystemencoding())
    print(cmd)
    subprocess.call(cmd, shell=True)

MAC下准备工作

  • 安装m3u8合成工具 brew install ffmpeg
  • 安装代理工具 brew install mitmproxy

使用方法

  • 在bash下运行: mitmdump -s test.py -p 8888
  • 连代理 把手机wifi连到电脑上(查电脑ip,如192.168.0.xxx),端口8888 1.修改网络 2.显示高级选项 3.选代理、手动,填ip、端口

关于ssl(报错问题)

连上代理后,手机浏览器打开http://mitm.it/按页面说明步骤操作(ios,android各不同)

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/100402.html原文链接:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验