首页 > 编程语言 >腾讯视频 微信小程序 视频下载方案

腾讯视频 微信小程序 视频下载方案

时间:2023-07-13 16:56:25浏览次数:27  
标签:info 视频 .. 微信 json video 腾讯 print data

本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删!

腾讯视频 微信小程序 视频缓存方案

环境

  • win10
  • Charles
  • Internet Download Manager

抓包分析

在这里插入图片描述
搜索关键词可以很容易的找到发包的位置,解析json数据,搜索mp4或m3u8之类的后缀关键词找到下面的字段,看数据应该是需要的,提取出来解析一下看详细的数据
在这里插入图片描述
在这里插入图片描述
可以看到了请求头和视频地址,还有加密串之类的数据,具体的拼接方式还不太了解,先去pc端随便抓一个链接看下数据格式,然后拼接视频地址

提取url并拼接下载地址

import requests
import json
from jsonpath import jsonpath

headers = {
    "xweb_xhr": "1",
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF XWEB/6945",
    "content-type": "application/json",
    "accept": "*/*",
    "sec-fetch-site": "cross-site",
    "sec-fetch-mode": "cors",
    "sec-fetch-dest": "empty",
    "accept-language": "zh-CN,zh"
}
cookies = {
    "main_login": "wx",
    "openid": "oXw7q0DqxLpCmwrIvXWn6bVe3X0w",
    "appid": "wxa75efa648b60994b",
    "vuserid": "2887009071",
    "vusession": "h1tF_AkElbXtutQuw2JoJw.N",
    "vversion_name": "8.2.95",
    "video_bucketid": "4",
    "video_omgid": "2887009071"
}
params = {
    "video_appid": "3000002",
    "guid": "c9eb459f9be06ea0",
    "vplatform": "0"
}
data = {
    "page_params": {
        "page_type": "detail_operation",
        "page_id": "small_app_sv_channel_jump",
        "load_type": "3",
        "data_key": "vid=x325605uz2g",
        "flow_experiment_id": "10000"
    }
}
data = json.dumps(data, separators=(',', ':'))
response = requests.post(url, headers=headers, cookies=cookies, params=params, data=data)

# print(response.text)
# print(response)

tvk_video_info = jsonpath(response.json(), "$..item_params.tvk_video_info")
# print(tvk_video_info)
for video_info in tvk_video_info:
    # print(video_info)
    title = jsonpath(json.loads(video_info), "$..ul.ui..url")[-1]
    title = title.replace("http://video.dispatch.tc.qq.com/", "http://ugccsy.qq.com/").replace("svp_50069/", "")
    print(title)
    fn = jsonpath(json.loads(video_info), "$..vl.vi..fn")[0]
    print(fn)
    vkey = jsonpath(json.loads(video_info), "$..vl.vi..fvkey")[0]
    print(vkey)
    url = f'{title}{fn}?vkey={vkey}'
    print(url)
    break

效果

请添加图片描述

资源下载

https://download.csdn.net/download/qq_38154948/88046659


本文仅供学习交流使用,如侵立删!

标签:info,视频,..,微信,json,video,腾讯,print,data
From: https://www.cnblogs.com/c1033383881/p/17551430.html

相关文章

  • 迅为RK3568|RK3588开发板车牌识别|RKNPU2人工智能视频重磅更新!
     ......
  • 视频直播源码,搜索页面布局(Wrap组件)
    视频直播源码,搜索页面布局(Wrap组件)classLayoutDemoextendsStatelessWidget{ constLayoutDemo({Key?key}):super(key:key); @override Widgetbuild(BuildContextcontext){  returnPadding(   padding:constEdgeInsets.all(10),   child:W......
  • 云开发校园微社区-二手交易兼职交友微信小程序源码
     源码说明:云开发校园微社区微信小程序开源源码,这是一款云开发校园微社区-二手交易_兼职_交友_项目微信小程序开源源码,可以给你提供快捷方便的校园生活,有很多有趣实用的板块和功能,如:闲置交易、表白交友、疑问互答、任务兼职、相约学习、失物招领、趣事分享等。在发布栏目可以......
  • 智慧园区:如何利用AI识别与视频技术实现工业园区监管模式的升级?
    一、背景分析智慧园区建设的目标是通过运用现代信息技术,通过智能化管理,解决园区管理中存在的许多难题,例如信息不对称、资源浪费等问题,将园区内的设施、设备和系统进行连接和互通,园区可以实现各种资源的高效利用、实现数据的共享和信息的智能化处理,提高企业的生产效率和创新能力,促......
  • 视频融合平台EasyCVR级联时注册失败并报错401是什么原因?
    EasyCVR视频融合平台基于云边端一体化架构,具有强大的数据接入、处理及分发能力,平台既具备传统安防视频监控的能力与服务,也支持AI智能检测技术的接入,可应用在多行业领域的智能化监管场景中。平台可提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、云台控......
  • uniapp 微信小程序 camera 组件,测试版和体验版都正常,上线后全量发布扫码就是白屏,
    解决办法:需要更新隐私协议右边菜单最下面“设置”—拖到下方服务内容声明块--去完善用户隐私保护指引 ......
  • 音视频基础知识
    1.视频编码视频编码是指采用某种算法对视频数据进行压缩,以便在存储和传输时占用更少的空间和带宽。我们平时所看的视频其实都是由大量的图像帧组成的,比如,如果帧率为30fps,则相当于一秒播放了三十个图像,如果把每一张图像帧都完整的保存下来,则占用的空间超乎想象。我们可以计算......
  • 微信小游戏代码包侵权解决办法
    微信过审机制介绍1、大致步骤就是提审->机器审核->人工审核;2、机器审核部分:审核代码部分,资源相关部分人工审核部分:审核UI相关,标题是否侵权,玩法是否符合类别3、审核时间:正常的账号在100分的情况下审核时间都会在2个小时内。审核细节1、微信目前机审大部分会从代码......
  • 实践|腾讯云CDN开启URL鉴权
    腾讯云CDN(ContentDeliveryNetwork)是一种内容分发网络服务,它通过在全球范围内部署大量节点,将内容缓存到离用户最近的节点,从而实现快速、稳定的内容传输。为了保护这些内容,腾讯云CDN提供了URL鉴权功能。本文将详细介绍如何开启腾讯云CDN的URL鉴权。开启腾讯云CDN的URL鉴权,需要以......
  • 微信小程序连接数据库
    1、在app.js里面配置云开发环境的id即env那个参数2、在wxml页面里面写出类似于html的输入框等界面格式语句需要注意的是,button里面的这个属性:bind:tap,就是定义按钮的方法属性3、在js页面里面,实现上述的方法属性可以定义弹窗提示、连接数据库、符合条件则跳转到相应界面等功......