python抓取网页视频

news2024/12/23 14:11:14

1. 喜马拉雅音频

1-1 喜马拉雅
import requests
import json
import time
import random
import hashlib

url = 'https://www.ximalaya.com/revision/play/v1/audio?id=46103875&ptype=1'

headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47'
}

#服务器时间戳
severtime = requests.get('https://www.ximalaya.com/revision/time',headers=headers).text
#现在时间戳
nowtime = str(round(time.time()*1000)) #round()返回保留几位小数的值,默认为整数 //time.time()返回当前时间的时间戳//time.time()得10位数,目前时间戳为13位数

#求加密的参数
xm_sign = str(hashlib.md5('himalaya-{}'.format(severtime).encode()).hexdigest()) + '({})'.format(round(random.random()*100)) + severtime + '({})'.format(round(random.random()*100)) + nowtime
#print(xm_sign)

#更新请求头参数
headers['xm-sign'] = xm_sign

#提取及解析音频网址
resp = requests.get(url,headers=headers)
src_dic = json.loads(resp.text)
src = src_dic['data']['src']

#下载音频
with open(f'./video/卖吊票-1.m4a',mode='wb') as f:
    f.write(requests.get(src,headers=headers).content)
##  再用格式工厂 转mp3 

在这里插入图片描述

1-2 喜马拉雅
import re
import requests
import re
import requests
import json
import time
import random
import hashlib

# 免费
url = 'https://www.ximalaya.com/revision/play/v1/audio?id=46103875&ptype=1'

# 收费的还不行 
# url = 'https://audiofreepay.ali.xmcdn.com/download/1.0.0/storages/8987-audiopay/37/8B/GKwRIMAH8cjnANYGeAIF8P8Z-aacv2-48K_preview_1231196.m4a'
# url = 'https://www.ximalaya.com/revision/play/v1/audio?id=620471242&ptype=1'

headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}

# json_url = 'https://www.ximalaya.com/revision/play/v1/audio?id={}&ptype=1'.format(m4a_id)
json_data = requests.get(url, headers=headers).json()# 
print(json_data)# 提取音频地址
m4a_url = json_data['data']['src']# 
print(m4a_url)# 请求音频数据
m4a_data = requests.get(url=m4a_url, headers=headers).content

new_title = '卖吊票_岳云鹏郭德纲.m4a'
print(new_title)
# 4.数据持久化(保存)
with open('video\\' + new_title, mode='wb') as f:
    f.write(m4a_data)
print('保存完成:', new_title)

	

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1045306.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

法线贴图的原理和作用

在上一篇文章中详细介绍了位移贴图的相关知识,在本章中我们继续讲述法线贴图的相关概念,文章后面继续用GLTF 编辑器 来演示下法线贴图的模型渲染效果。 1、什么是法线贴图 法线贴图(Normal Map)是一种纹理映射技术,用…

DAY04_瑞吉外卖——文件上传下载菜品新增菜品分页查询菜品修改

目录 1. 文件上传下载1.1 上传介绍1.1.1 概述1.1.2 前端介绍1.1.3 服务端介绍 1.2 下载介绍1.3 上传代码实现1.3.1 前端代码1.3.2 服务端实现1.3.3 测试 1.4 下载代码实现1.4.1 前端代码1.4.2 服务端代码1.4.3 测试 2. 菜品新增2.1 需求分析2.2 数据模型2.3 准备工作2.4 前端页…

golang工程——底层原理【defer、panic、recover、interface】

defer 延时性 不管defer函数后的执行路径如何,最终都将被执行。在Go语言中,defer一般被用于资源的释放及异常panic的处理。保证函数在任意路径执行结束后都能够关闭资源。defer是一种优雅的关闭资源的方式,能减少大量冗余的代码并避免由于忘…

Python 标准库之pathlib,路径操作

背景 pathlib 标准库是在 Python3.4 引入,到现在最近版 3.11 已更新了好几个版本,主要是用于路径操作,相比之前的路径操作方法 os.path 有一些优势,有兴趣的同学可以学习下 **官方文档:**https://docs.python.org/zh-…

应用架构的演进:亚马逊的微服务实践

当你在亚马逊上购物时,或许不会想到,你看到的这个购物网站,其背后技术架构经历了什么样的变迁与升级。 还记得上世纪 90 年代,那个只卖书的网上书店吗?那时的亚马逊,不过是一个架构简单的网站,所有的功能都堆积在一个庞大的软件堡垒里。随着更多业务的增加、更新和迭代,这个软…

RS232,485,422的定义及区别

计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。 由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。串口按电气标准及协议来划分,包括RS232、RS422、R…

JavaScript位运算的妙用

位运算的妙用: 奇偶数, 色值换算,换值, 编码等 位运算的基础知识: 操作数是32位整数自动转化为整数在二进制下进行运算 一.按位与& 判断奇偶数: 奇数: num & 1 1偶数: num & 1 0 基本知识: 用法:操作数1 & 操作数2规则:有 0 则为…

WhaleStudio 分钟级构建 AI 模型,强大 Ops 能力简化模型调度与部署

什么是机器学习(ML)? 它有什么作用 机器学习(ML)是人工智能(AI)的一个子集,通过算法发现数据中的通用模式,并根据持续不断的训练来优化调整最终结果。ML模型从过去的经验中学习,并根据已有的经验进行预测。例如,现在的电商已不再…

外贸人如何一眼识别骗子

最近收到很多客户在平台上直接发过来一些压缩包,然后说自己是和某个国家的政府签订的合作方案,请查看这些压缩包里的图纸和附件是否能够提供,麻烦核算价格等等。 当我看到客户发过来这些东西的时候,第一反应不是打开附件或者是来…

React中为啥key不可以使用索引值index?(超详细版本)

索引值index与唯一标识符id区别 1、索引值index是表示列表中每个元素的位置; 特点:从0开始,在列表变化时react重新分配索引值,造成索引值与元素标签的对应关系不是稳定的一一对应。 const list ["apple", "bana…

掌握Vim编辑器,轻松提升编程效率

1. 什么是VIM Vim (Vi improved)是从 Vi 发展出来的一个文本编辑器,简单的来说,Vi 是老式的文本处理器,功能已经很齐全了,但还是有可以进步的地方。 之后,Vim 之父 Bram Moolenaar 在 Vi 的源代码基础上进行了修改&a…

链式二叉树(二叉树看这一篇就够了)

顾名思义就是使用链式存储来实现的二叉树,因为二叉树是递归定义的,所以二叉树的实现中,都是会使用递归来完成.这里面需要一些前置的二叉树理论知识,对这部分不是很理解的可以先看下这篇二叉树的概念. 下面开始进入正题了: 1.二叉树的创建 假定现有"ABD##E#H##CF##G##&quo…

PDF文件压缩软件 PDF Squeezer mac中文版​软件特点

PDF Squeezer mac是一款macOS平台上的PDF文件压缩软件,可以帮助用户快速地压缩PDF文件,从而减小文件大小,使其更容易共享、存储和传输。PDF Squeezer使用先进的压缩算法,可以在不影响文件质量的情况下减小文件大小。 PDF Squeezer…

[Linux]多线程编程

[Linux]多线程编程 文章目录 [Linux]多线程编程pthread_create函数pthread_join函数pthread_exit函数pthread_cancel函数pthread_self函数pthread_detach函数理解线程库和线程id Linux操作系统下,并没有真正意义上的线程,而是由进程中的轻量级进程&#…

vue3 踩坑记(汇总)

1、在 vue3 中,GET 请求接口时,传入一个数组,默认是以“xxx[]: 1, 2, 3”的形式传递的,报错:“400 Bad Request” 解决方案: 传参时,需要将数组字符串化,比如:ids: sele…

二维码智慧门牌管理系统:提升社会治理效率的利器

文章目录 前言一、技术背景与特点二、数据准确性和一致性三、综合服务平台四、应用领域 前言 在当今科技不断发展的时代,我们的生活正逐渐数字化和智能化。近期,一种名为“二维码智慧门牌管理系统”的新型技术引起广泛关注。这一系统的出现不仅为我们的…

软件测试之银行测试,银行测试YYDS

为什么要做金融类软件测试 举个例子,比如银行的软件测试工程师,横向和互联网公司的测试人员比较来说,工资比较稳定,加班很少甚至没有,业务稳定。 实在是测试类岗位中的香饽饽! 同时,我也准备了…

如何使用ArcGIS Pro制作标准地图样式国界

相信大家都浏览过标准地图服务提供的标准地图,不知道你有没有想过尝试制作里面的国界,这里为大家介绍一下制作方法,希望能对你有所帮助。 制作已定国界 在地图数据内,国界分为已定国界、未定国界和海岸线,我们先对已定…

一文详解:什么是进销存管理系统?2023年top10进销存管理系统大推荐!

进销存管理系统是什么?进销存管理系统的优势在哪里?进销存管理系统都能为企业提供什么?有哪些便宜适合的进销存管理系统?本文将带大家深入浅出的聊聊进销存管理系统,并且为大家提供2023年十大进销存管理系统大盘点&…

企业简化客户服务的5种方法

在现代商业中,提供优质客户服务是企业能否成功的关键所在。为了满足客户的需求,企业需要保证客户服务的质量和效率。而许多公司却发现,随着公司的发展,客户服务的过程变得越来越复杂。许多企业陷入了自己制造的困境,面…