20231114_python练习_b站番剧视频爬取音频组合


import requests
import json
import re
import os
from pprint import pprint
from moviepy.editor import *url = 'https://api.bilibili.com/pgc/view/web/season?ep_id=322903'
#设置请求头
header={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.43","Referer":"https://www.bilibili.com/bangumi/play/ep322903?from_spmid=666.4.feed.9", #设置防盗链"Cookie":"xxxxxx"
}resp = requests.get(url=url,headers=header)
print(resp.status_code)
json_data = resp.json()
#pprint(json_data)
node_all_list = []node_all = json_data['result']['episodes']
for node in node_all:#pprint(node)node_dic = {}node_dic['aid'] = node['aid']node_dic['cid'] = node['cid']node_dic['ep_id'] = node['ep_id']node_dic['share_copy'] = node['share_copy']node_dic['long_title'] = node['long_title']node_all_list.append(node_dic)breakprint('node_all_list',node_all_list)link_url ='https://api.bilibili.com/pgc/player/web/v2/playurl'for node in node_all_list:data = {'support_multi_audio': 'true','avid':node['aid'],'cid':node['cid'],'qn': '80','fnver': '0','fnval': '4048','fourk': '1','gaia_source':'','from_client':'BROWSER','ep_id': node['ep_id'],'session': 'af516338d69941203fd631e0f5d44f32','drm_tech_type': '2'}resp = requests.get(url=link_url,params=data,headers=header)print(resp.status_code)link_data = resp.json()pprint(link_data)#音频视频链接audio_url = link_data['result']['video_info']['dash']['audio'][0]['baseUrl']video_url = link_data['result']['video_info']['dash']['video'][0]['baseUrl']biaoti = node['share_copy']resp1 = requests.get(url=video_url, headers=header)with open(biaoti + '.mp4', mode='wb') as f:f.write(resp1.content)print('audio_url', audio_url)resp2 = requests.get(url=audio_url, headers=header)with open(biaoti + '.mp3', mode='wb') as f:f.write(resp2.content)# 视频音频文件组合video_path = biaoti + '.mp4'audio_path = biaoti + '.mp3'# 提取音轨audio = AudioFileClip(audio_path)# 读入视频video = VideoFileClip(video_path)# 将音轨合并到视频中video = video.set_audio(audio)# 输出video.write_videofile(f"{biaoti}(含音频).mp4")# 将涉及MP3MP4清除os.remove(video_path)os.remove(audio_path)print(biaoti,'爬取完成')break

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

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

相关文章

Unity解决:没有UnityWebRequest.Result

当我在Unity 2019中使用Unity 2021的代码satable时。 控制台显示 “UnityWebRequest”不包含“result”的定义,并且找不到接受“UnityWebRequest”类型的第一个参数的可访问扩展方法“result”(是否缺少using指令或程序集引用?) 漏洞/问题: if (req.result == UnityWebRe…

面试官问 Spring AOP 中两种代理模式的区别?很多面试者被问懵了

面试官问 Spring AOP 中两种代理模式的区别?很多初学者栽了跟头,快来一起学习吧! 代理模式是一种结构性设计模式。为对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象,并允许在将请求提交给对象前后进行一…

服务器中了locked勒索病毒怎么处理,locked勒索病毒解密,数据恢复

近几年,网络应用技术得到了迅速发展,越来越多的企业开始走向数字化办公,极大地为企业的生产运营提供了帮助,但是网络技术的发展也为网络安全埋下隐患。最近,locked勒索病毒非常嚣张,几乎是每隔两个月就会对…

媒体软文投放的流程与媒体平台的选择

海内外媒体软文:助力信息传播与品牌建设 在当今数字化时代,企业如何在庞大的信息海洋中脱颖而出,成为品牌建设的领军者?媒体软文投放无疑是一项强大的策略,通过选择合适的平台,精准投放,可以实…

怎样做ChatGPT应用开发?

要开发一个基于ChatGPT的应用,你可以按照以下步骤进行: 步骤1:了解ChatGPT API ChatGPT的使用通常通过API进行。你需要了解ChatGPT的API文档,包括如何进行请求、API端点、身份验证等信息。在开发之前,确保你已经获取了…

动手学深度学习——序列模型

序列模型 1. 统计工具1.1 自回归模型1.2 马尔可夫模型 2. 训练3. 预测4. 小结 序列模型是一类机器学习模型,用于处理具有时序关系的数据。这些模型被广泛应用于自然语言处理、音频处理、时间序列分析等领域。 以下是几种常见的序列模型: 隐马尔可夫模型…

探索数据湖和大数据在亚马逊云服务云存储服务上的威力

文章作者:Libai 引言 在当今数字化的环境中,组织生成的数据量正以前所未有的速度增长。数据量的激增催生了对高效存储和管理解决方案的需求。数据湖和亚马逊云服务云存储服务上的大数据是一个强大的组合,使组织能够充分发挥其数据的潜力。 亚…

【ubuntu 快速熟悉】

ubuntu 快速熟悉 2.ubuntu桌面管理器3.ubuntu常见文件夹说明4.ubuntu任务管理器4.1 gnome桌面的任务管理器4.2 实时监控GPU4.3 top 命令 5.ubuntu必备命令5.1 .deb文件5.2 查找命令5.2.1 find文件搜索5.2.2 which查找可执行文件的路径5.2.3 which的进阶,whereis5.2.…

人工智能与充电技术:携手共创智能充电新时代

人工智能与充电技术:携手共创智能充电新时代 摘要:本文探讨了人工智能与充电技术的结合及其在未来充电设施领域的应用。通过分析智能充电系统的技术原理、优势以及挑战,本文展望了由人工智能驱动的充电技术为未来电动交通带来的巨大变革与机…

网易有道上线“易魔声” 开源语音合成引擎 用户可免费下载使用

网易有道上线“易魔声” 开源语音合成引擎 用户可免费下载使用 刚刚,我们上线了「易魔声」开源语音合成(TTS)引擎!🎉🎉🎉 「易魔声」,是一款有道自研TTS引擎,目前支持中…

【Python办公】win32com打开Office、WPS文档的启动方式

1.说明 COM(Component Object Model)是一种面向组件的二进制接口标准,允许不同的软件模块之间进行交互和通信。Python中的win32com是使用Python控制com的公开库,对于操作软件非常方便,比如是操作Office软件进行文档自…

从零开始配置离线服务器

1.复制环境(包含torch包) 使用conda pack进行环境迁移(步骤很详细)_小舟%的博客-CSDN博客 注意:用pack的时候会默认把生成的tar.gz保存到当前目录,所以提前需要观测好在哪 注意:公用的环境必…

循环双链表插入删除

#include <iostream>#include <stdio.h> #include <stdlib.h>using namespace std;//带头指针的循环双链表typedef struct DNode{int data;struct DNode *next,*prior;}DNode, *DLinkList; // 初始化 bool initDlinklist(DLinkList &L){L (DNode *)ma…

【NI-DAQmx入门】多通道数据采集

1.通道扩展解释 通道扩展是扩展数据采集设备的通道以包含另一个设备的通道的过程&#xff0c;从而有效地创建具有更多通道的任务。当使用通道扩展时&#xff0c;DAQmx 自动在 DAQmx 驱动程序级别路由触发器和时钟&#xff0c;以便多个设备同步。为了使设备作为一个整体运行&…

MongoDB 索引

类似关系型数据库&#xff0c;mongodb也建立自己的一套索引机制和查询优化方法。本文简单介绍mongodb的索引。后续文章讲详细介绍索引的操作&#xff0c;监控和查询优化方法等。 索引 索引&#xff0c;是一组按照特殊结构排列的&#xff0c;方便检索的数据。索引中保存了集合…

笔试题之指针和数组的精讲

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇:Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”。…

论文笔记:AttnMove: History Enhanced Trajectory Recovery via AttentionalNetwork

AAAI 2021 1 intro 1.1 背景 将用户稀疏的轨迹数据恢复至细粒度的轨迹数据是十分重要的恢复稀疏轨迹数据至细粒度轨迹数据是非常困难的 已观察到的用户位置数据十分稀疏&#xff0c;使得未观察到的用户位置存在较多的不确定性真实数据中存在大量噪声&#xff0c;如何有效的挖…

2023NOIP A层联测31总结

2023NOIP A层联测31总结 T 1 T1 T1 暴力操作&#xff1a; 给你一个长度为 n n n 的序列 a a a &#xff0c;你可以花费 c x c_x cx​ 使得 a i a_i ai​ 变为 [ a i / x ] [a_i / x] [ai​/x] &#xff0c;你总共有 k k k 元。为最终序列的中位数最小是多少。保证 n n …

63基于matlab的生物地理的优化器(BBO)被用作多层感知器(MLP)的训练器。

基于matlab的生物地理的优化器&#xff08;BBO&#xff09;被用作多层感知器&#xff08;MLP&#xff09;的训练器。粒子群优化&#xff08;PSO&#xff09;、蚁群优化&#xff08;ACO&#xff09;、遗传算法&#xff08;GA&#xff09;、进化策略&#xff08;ES&#xff09;和…

selenium headless 无头模式慢

selenium设置headlessTrue发现非常慢&#xff0c;headlessFalse要快很多。 最后测试发现升级到selenium最新版本&#xff0c;selenium4.15.2。设置--headlessnew&#xff0c;解决了&#xff0c;速度正常了。 新版selenium有了两种headless模式&#xff0c;参见&#xff1a;He…