头条文章链接,详细页面里面的视频地址下载分析、提取下载

结论是

videoid = tt-videoid

video_json = f'https://i.snssdk.com/video/urls/1/toutiao/mp4/{videoid}'

分析步骤为

目标就是这个文章链接下面的,视频 下载下来。

抓包分析

看到了 video 标签, 但是源码里面没有这个标签,发现了有个很有标识的东西: tt-videoid 。
直接说 结果: src="https://i.snssdk.com/video/urls/1/toutiao/mp4/v0301fg10000csljvd7og65kf0m8ntq0?callback=tt__video__vdefy8"
直接请求 src 得到了,

看到这种 不要慌,解密一下。

好,结果就出来了

解析代码

python 复制代码
		videoid = tt-videoid
        video_json = f'https://i.snssdk.com/video/urls/1/toutiao/mp4/{videoid}'
        headers = {
            "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
            "accept-language": "zh-CN,zh;q=0.9",
            "cache-control": "no-cache",
            "pragma": "no-cache",
            "priority": "u=0, i",
            "sec-ch-ua": "\"Google Chrome\";v=\"129\", \"Not=A?Brand\";v=\"8\", \"Chromium\";v=\"129\"",
            "sec-ch-ua-mobile": "?0",
            "sec-ch-ua-platform": "\"Windows\"",
            "sec-fetch-dest": "document",
            "sec-fetch-mode": "navigate",
            "sec-fetch-site": "none",
            "sec-fetch-user": "?1",
            "upgrade-insecure-requests": "1",
            "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36"
        }
        cookies = {
            "odin_tt": "a2d3ceea612f2780e30a937100bd7f046490e1444ea859921535a09461162ba4175263d58898dd877d347b78eb144dbd6cd7bb127969860c77836bbeca4e6fe5"
        }
        response = requests.get(video_json, headers=headers, cookies=cookies)
        json_data = json.loads(response.text)
        main_url = jsonpath(json_data, '$..video_3.main_url')[0] if jsonpath(json_data, '$..video_3.main_url') else None
        if main_url:
            decoded_bytes = base64.b64decode(main_url)
            video_url = decoded_bytes.decode('utf-8')

结束:

复制代码
	文章视频可以正常提取下载
相关推荐
月明长歌16 小时前
Java数据结构:PriorityQueue堆与优先级队列:从概念到手写大根堆
java·数据结构·python·leetcode·
波克布林的矩阵63317 小时前
VS code为python文件配置默认模板
python
dhdjjsjs17 小时前
Day44 PythonStudy
python
love530love17 小时前
在 PyCharm 中配置 x64 Native Tools Command Prompt for VS 2022 作为默认终端
ide·人工智能·windows·python·pycharm·prompt·comfyui
柒.梧.17 小时前
CSS 基础样式与盒模型详解:从入门到实战进阶
人工智能·python·tensorflow
free-elcmacom17 小时前
机器学习高阶教程<9>从实验室到生产线:机器学习模型推理与部署优化实战指南
人工智能·python·机器学习
兴趣使然黄小黄17 小时前
【Pytest】Pytest常用的第三方插件
python·pytest
倔强的小石头_17 小时前
Python 从入门到实战(十一):数据可视化(用图表让数据 “说话”)
开发语言·python·信息可视化
Pyeako17 小时前
机器学习--逻辑回归相关案例
人工智能·python·机器学习·逻辑回归·下采样·交叉验证·过采样
gf132111117 小时前
python_制作视频开头_根据短句字长占总字幕的长度比例拆分
windows·python·音视频