前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯视频 微信小程序 视频下载方案

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

原创
作者头像
拉灯的小手
发布2023-07-13 17:00:37
4740
发布2023-07-13 17:00:37
举报
文章被收录于专栏:用户6838338的专栏

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

环境

win10 Charles Internet Download Manager

抓包分析

在这里插入图片描述
在这里插入图片描述

搜索关键词可以很容易的找到发包的位置,解析json数据,搜索mp4或m3u8之类的后缀关键词找到下面的字段,看数据应该是需要的,提取出来解析一下看详细的数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

可以看到了请求头和视频地址,还有加密串之类的数据,具体的拼接方式还不太了解,先去pc端随便抓一个链接看下数据格式,然后拼接视频地址

提取url并拼接下载地址

代码语言:python
代码运行次数:0
复制
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


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


原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 腾讯视频 微信小程序 视频下载方案
  • 抓包分析
  • 提取url并拼接下载地址
  • 效果
  • 资源下载
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档