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-下载某短视频平台视频(高清无水印)相关推荐

  1. 2022年中国元宇宙白皮书完整版下载_中国元宇宙白皮书高清无水印

    随着元宇宙概念的越演愈烈,<中国元宇宙白皮书>在北京中关村正式全网发布,今天我们简单的介绍下,该白皮书分为缘起篇.现状篇.技术篇.产业篇.法律与监管篇.伦理与风险篇.经济篇.人才篇.畅想篇 ...

  2. oCam电脑录屏软件 下载及使用图解(免费高清无水印)

    下载安装好ocam软件,直接双击打开exe即可,无需安装. 如果是录制视频,会有一个选择框,可以自己调整需要录制的区域.也可以点击录制区域选择. oCam下载 点击编码,可以选择要保存的视频格式,一般 ...

  3. python爬取王者荣耀全皮肤高清无水印图片

    前期准备:安装requests库,我猜你可能需要: Python网络爬虫与信息提取笔记01-Requests库入门 Windows下安装pip和换源 import os import requests ...

  4. 原相机水印怎么改字_抖音/自媒体做影视二次剪辑,如何下载高清无水印视频?...

    很多想做影视二次剪辑的小伙伴,苦于不知道怎么获取到高清无水印视频,话不多说. 直接上干货,分享3个能帮到你的方法. 极简录屏.解析下载,磁力链接. 1.通过极简模式的录屏 优点:可以直接快速获取到需要 ...

  5. 干货速收藏!影视混剪必备的5个素材网站,高清无水印资源下载

    现在在自媒体平台发布自己的原创视频,有播放量就会有一定的创作收益. 有不少人都想做自媒体,却又不想真人出镜,想做素材混剪类的二次剪辑创作,又不知道去哪里找素材. 今天大周给你们分享几个可以找影视素材资 ...

  6. 商用图片素材,高清无水印

    今天给大家分享8个免费.商用图片素材网站,全部高清无水印,轻松应对各种场景. 1.菜鸟图库 https://www.sucai999.com/pic.html?v=NTYwNDUx 菜鸟图库是一个综合 ...

  7. 考研数学二真题1987年-2022年所有历年真题及详解(高清无水印)

    下载链接:考研数学二真题1987-2022年所有历年真题及解析(高清无水印)https://download.csdn.net/download/m0_57324918/87483974 历年试卷真题 ...

  8. 考研数学一真题1987年-2022年所有历年真题及详解(高清无水印)

    下载链接 考研数学一真题1987年-2022年历年真题及详解(高清无水印)-其它文档类资源-CSDN下载考研数学一真题1987年-2022年所有历年真题及详解(高清无水印)1987-2022数学一历年 ...

  9. 考研数学三真题1987-2022年所有历年真题及解析(高清无水印)

    下载链接:文库首页 考试认证其它考研数学三真题1987-2022年所有历年真题及解析(高清无水印) 考研数学三真题1987-2022年所有历年真题及解析(高清无水印) https://download ...

最新文章

  1. Scala教程之:面向对象的scala
  2. linux 管理 服务,Linux服务管理 详述
  3. 大表与大表join数据倾斜_技术分享|大数据技术初探之Spark数据倾斜调优
  4. ginapi服务器性能,如何使用 Gin 和 Gorm 搭建一个简单的 API 服务 (一)
  5. GitHub和Microsoft TFS对比有什么优势
  6. 深入理解cookie
  7. 开源机器学习工具SQLFlow
  8. 结合源码探讨Android距离传感器亮灭屏机制
  9. 2020-12-08
  10. 如何加密PDF文件?多种实用方法介绍
  11. DVWA模块使用教程(二)
  12. CodeSys之CRC校验
  13. Spring Bean的生命周期自我记忆
  14. KMPlayer 一打开总是出现右面的窗口 导航区 怎样设置不会自动打开
  15. 数据结构课程设计——逆波兰表达式的计算
  16. dvi接口少4针_DVI接口针脚数量,详细图文资料介绍
  17. iOS_CLLocation定位
  18. Windows Mac上搭建个人云盘——kiftd开源网盘系统
  19. 我去扒了杜蕾斯的微博
  20. 1.ffmpge的移植

热门文章

  1. 解决WIN10连接共享打印机出现0x00000709的错误
  2. OpenHardwareMonitor0.9.6汉化说明
  3. Unity 3D Text字迹模糊问题的解决方法
  4. 10G 82599EB 网卡测试优化 kernel
  5. [gis插件]SHP转excel表、工程测量成果表、多图层转表
  6. MepReduce-开启大数据计算之门
  7. ztL:嫁人就嫁GEEK男
  8. 很多创业者想知道:闲鱼如何引流卖货?
  9. Mysql增删改查|SQL语句(史上最全|实战教学)
  10. spark-submit Caused by: java.lang.ClassNotFoundException: org.codehaus.jettison.json.JSONObjec