python-下载某短视频平台视频(高清无水印)
python-下载某短视频平台音视频(高清无水印)
- 前言
- 1、获取视频 url
- 2、发送请求
- 3、数据解析
- 4、本地保存
- 5、完整代码
前言
1、Cookie中文名称为小型文本文件,指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。
2、有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。
3、dy核心的cookies是sessionID值, 可嵌套到接口的headers里的Cookie里进行请求。
1、获取视频 url
在网页端找一个视频,点击进入详情,页面中地址栏里就是该视频的 url 。
手机端复制url后,先粘到浏览器地址栏访问,url 会自动转换,这时候复制地址栏的 url 即可。
2、发送请求
接下来就是简单的发送请求,唯一需要注意的一点就是 headers 中除了要配置 UA 外,还要配置 cookie 信息,否则拿不到想要的数据。
配置好 headers 之后,发送 get 请求,拿到页面源码数据
data = requests.get(url=url, headers=headers)
data.encoding = 'utf-8'
data = data.text
3、数据解析
在页面源码数据中有很长一串数据是经过 url 编码的,而我们需要的数据都在这串数据中,因此我们需要拿到这串数据。通过正则表达式定位并取出这串数据,然后调用 requests 模块下的工具包 utils 里的 unquote 方法解码这串数据(得到的是 string 类型的数据),代码如下:
data_en = re.findall('<script id="RENDER_DATA" type="application/json">(.*?)</script></head><body >',data)[0]
data_all = requests.utils.unquote(data_en)
后面就是经典的资源定位了,我们先来说视频下载,先在数据中找到视频的url,会发现有两个
经过我的测试,第一个url的视频带有水印,而第二个没有,这个根据自己的需要选择就行,只是改个索引的问题,我这里选择第二个无水印的,编写正则表达式将其取出
video_url = 'https:' + re.findall('"playAddr":\[{"src":".*?{"src":"(.*?)"}]',data_all)[0]
4、本地保存
持久化存储,python本地保存视频
#保存
if not os.path.exists(r'C:\video'):os.mkdir(r'C:\video')
video_content = requests.get(url=video_url, headers=headers).content
with open(r'C:\video\title.mp4', 'wb+') as f:f.write(video_content)
5、完整代码
import requests, re, osurl = ""
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36','cookie': ''
}data = requests.get(url=url, headers=headers)
data.encoding = 'utf-8'
data = data.text
# print(data)
data_en = re.findall('<script id="RENDER_DATA" type="application/json">(.*?)</script>', data)[0]
data_all = requests.utils.unquote(data_en)# 视频url
video_url = 'https:' + re.findall('"playAddr":\[{"src":".*?{"src":"(.*?)"}]', data_all)[0]
print(video_url)# 评论
comments = re.findall("\"comments\":\[(.*?)],\"consumerTime\":", data_all)
print(comments)# 标题
title = re.findall('"desc":"(.*?)","authorUserId"', data_all)[0].replace(' ', '')
print('-----------------------------------------------------------------------------------------')
print(title)#保存
if not os.path.exists(r'C:\video'):os.mkdir(r'C:\video')
video_content = requests.get(url=video_url, headers=headers).content
with open(r'C:\video\title.mp4', 'wb+') as f:f.write(video_content)
python-下载某短视频平台视频(高清无水印)相关推荐
- 2022年中国元宇宙白皮书完整版下载_中国元宇宙白皮书高清无水印
随着元宇宙概念的越演愈烈,<中国元宇宙白皮书>在北京中关村正式全网发布,今天我们简单的介绍下,该白皮书分为缘起篇.现状篇.技术篇.产业篇.法律与监管篇.伦理与风险篇.经济篇.人才篇.畅想篇 ...
- oCam电脑录屏软件 下载及使用图解(免费高清无水印)
下载安装好ocam软件,直接双击打开exe即可,无需安装. 如果是录制视频,会有一个选择框,可以自己调整需要录制的区域.也可以点击录制区域选择. oCam下载 点击编码,可以选择要保存的视频格式,一般 ...
- python爬取王者荣耀全皮肤高清无水印图片
前期准备:安装requests库,我猜你可能需要: Python网络爬虫与信息提取笔记01-Requests库入门 Windows下安装pip和换源 import os import requests ...
- 原相机水印怎么改字_抖音/自媒体做影视二次剪辑,如何下载高清无水印视频?...
很多想做影视二次剪辑的小伙伴,苦于不知道怎么获取到高清无水印视频,话不多说. 直接上干货,分享3个能帮到你的方法. 极简录屏.解析下载,磁力链接. 1.通过极简模式的录屏 优点:可以直接快速获取到需要 ...
- 干货速收藏!影视混剪必备的5个素材网站,高清无水印资源下载
现在在自媒体平台发布自己的原创视频,有播放量就会有一定的创作收益. 有不少人都想做自媒体,却又不想真人出镜,想做素材混剪类的二次剪辑创作,又不知道去哪里找素材. 今天大周给你们分享几个可以找影视素材资 ...
- 商用图片素材,高清无水印
今天给大家分享8个免费.商用图片素材网站,全部高清无水印,轻松应对各种场景. 1.菜鸟图库 https://www.sucai999.com/pic.html?v=NTYwNDUx 菜鸟图库是一个综合 ...
- 考研数学二真题1987年-2022年所有历年真题及详解(高清无水印)
下载链接:考研数学二真题1987-2022年所有历年真题及解析(高清无水印)https://download.csdn.net/download/m0_57324918/87483974 历年试卷真题 ...
- 考研数学一真题1987年-2022年所有历年真题及详解(高清无水印)
下载链接 考研数学一真题1987年-2022年历年真题及详解(高清无水印)-其它文档类资源-CSDN下载考研数学一真题1987年-2022年所有历年真题及详解(高清无水印)1987-2022数学一历年 ...
- 考研数学三真题1987-2022年所有历年真题及解析(高清无水印)
下载链接:文库首页 考试认证其它考研数学三真题1987-2022年所有历年真题及解析(高清无水印) 考研数学三真题1987-2022年所有历年真题及解析(高清无水印) https://download ...
最新文章
- Scala教程之:面向对象的scala
- linux 管理 服务,Linux服务管理 详述
- 大表与大表join数据倾斜_技术分享|大数据技术初探之Spark数据倾斜调优
- ginapi服务器性能,如何使用 Gin 和 Gorm 搭建一个简单的 API 服务 (一)
- GitHub和Microsoft TFS对比有什么优势
- 深入理解cookie
- 开源机器学习工具SQLFlow
- 结合源码探讨Android距离传感器亮灭屏机制
- 2020-12-08
- 如何加密PDF文件?多种实用方法介绍
- DVWA模块使用教程(二)
- CodeSys之CRC校验
- Spring Bean的生命周期自我记忆
- KMPlayer 一打开总是出现右面的窗口 导航区 怎样设置不会自动打开
- 数据结构课程设计——逆波兰表达式的计算
- dvi接口少4针_DVI接口针脚数量,详细图文资料介绍
- iOS_CLLocation定位
- Windows Mac上搭建个人云盘——kiftd开源网盘系统
- 我去扒了杜蕾斯的微博
- 1.ffmpge的移植
热门文章
- 解决WIN10连接共享打印机出现0x00000709的错误
- OpenHardwareMonitor0.9.6汉化说明
- Unity 3D Text字迹模糊问题的解决方法
- 10G 82599EB 网卡测试优化 kernel
- [gis插件]SHP转excel表、工程测量成果表、多图层转表
- MepReduce-开启大数据计算之门
- ztL:嫁人就嫁GEEK男
- 很多创业者想知道:闲鱼如何引流卖货?
- Mysql增删改查|SQL语句(史上最全|实战教学)
- spark-submit Caused by: java.lang.ClassNotFoundException: org.codehaus.jettison.json.JSONObjec