程序技术好文:用Python撸点视频背景音乐素材

简介: 程序技术好文:用Python撸点视频背景音乐素材

最近疫情,被关烦了,禁足得快发霉了。然后也在学习视频剪辑,视频剪辑需要大量的背景音乐素材,总不能自己唱吧,于是想着网络上撸一些。某度了一下,什么某fine和某音悦试听了下,音频里都有万恶的广告,果断放弃,有时间再去撸他们的。今天某子办公的音乐素材。找到//代码效果参考:http://www.lyjsj.net.cn/wx/art_24081.html

音效配乐栏目,打开开发者工具开始查找。

随便找一首试听,开发者工具-网络-media,可以清楚得看到音频的源文件地址。通过查找源文件地址的某些字符串的时候,发现并没有json数据地址,音频的源文件地址全部渲染在网页文本中并且类似于:那就简单了。开始构造代码。


单线程:


1 # -- encoding: utf-8 --


2 # @Time: 2022/4/28 10:53


3 # @Author: 、一叶孤城


4 # @File: yespik.py


5 # @IDE: PyCharm


6 # @Motto: ABC(Always Be Coding)


7


8 import concurrent.futures


9 import random


10 import re


11 import time


12 import requests


13 import os


14


15 def get_response(page_url):


16 # 一个获取网页文本的函数


17 headers = {


18 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36',


19 }


20 response = requests.get(url=page_url, headers=headers) # 响应


21 response.raise_for_status() # 排错


22 response.encoding = response.apparent_encoding //代码效果参考:http://www.lyjsj.net.cn/wz/art_24079.html

# 自动识别编码

23 response.encoding = 'utf-8' # 重置编码


24 return response # 返回响应,因为有text和content的内容需要在后面调用,所以只返回响应


25


26 def save_media(media_real_url, media_title):


27 # 先创建文件夹


28 filePath = './视频剪辑音频文件/' # 在当前文档的目录下创建一个文件夹


29 if not os.path.exists(filePath):


30 os.mkdir(filePath) # 创建文件夹


31


32 media_content = requests.get(url=media_real_url).content # 请求音频数据


33 format_name = media_real_url.split('.')【-1】 # 取到后缀名


34 # 做个判定吧,一般是有的


35 if media_content:


36 # 如果有数据,就尝试保存


37 # 开始保存


38 try:


39 with open(filePath + media_title + '.' + format_name, mode='wb') as f:


40 f.write(media_content)


41 print(f'--正在保存{media_title},请稍等!')


42 except:


43 print('有异常,请检查!')


44 else:


45 print('没有content数据!')


46


47 def parse_page(url):


48 # 解析列表页的函数


49 media_page_data = get_response(page_url=url).text # 获取列表页面的文本


50 # 音频数据范例:


51 # 所以提取音频数据只需要从网页文本数据中用正则提取上面的内容就ok了


52 media_lists = re.findall('src="//(.?)" type="', media_page_data)


53 # 标题也用正则来提取


54 media_titles = re.findall('(.?) ', media_page_data)


55 media_datas = zip(media_lists, media_titles)


56


57 for media_url, media_title in media_datas:


58 # 构造播放地址的url


59 media_real_url //代码效果参考:http://www.lyjsj.net.cn/wz/art_24077.html

= '' + media_url

60 print(media_real_url, media_title, sep = ' | ')


61 save_media(media_real_url, media_title)


62


63 def main(url):


64 # 主函数


65 parse_page(url)


66


67 if name == "main":


68 app = concurrent.futures.ThreadPoolExecutor(max_workers=10)


69 # 开始分页


70 for page in range(1, 30+1):


71 time.sleep(random.uniform(2, 5)) # 随机休眠


72 if page == 1:


73 url = ''


74 else:


75 url = f''


76 print(f'----------**开始采集第{page}页数据*----------')


77 main(url)


多线程:(在路上)


程序运行截图和保存结果截图:


申明:本文仅供学习和交流使用,如有侵权,请联系我删除。

相关文章
|
30天前
|
人工智能 Python
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
53 7
|
1月前
|
API Python
【02】优雅草央央逆向技术篇之逆向接口协议篇-以小红书为例-python逆向小红书将用户名转换获得为uid-优雅草央千澈
【02】优雅草央央逆向技术篇之逆向接口协议篇-以小红书为例-python逆向小红书将用户名转换获得为uid-优雅草央千澈
89 1
|
1月前
|
前端开发 搜索推荐 编译器
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
100 33
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
|
17天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
54 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
1月前
|
存储 NoSQL 数据库连接
在Python程序中实现LevelDB的海量key的分批次扫描
通过本文的步骤,您可以在Python程序中实现对LevelDB海量key的分批次扫描。这样不仅能够有效地管理大规模数据,还可以避免一次性加载过多数据到内存中,提高程序的性能和稳定性。希望这篇指南能为您的开发工作提供实用的帮助。
69 28
|
1月前
|
安全 数据挖掘 编译器
【01】优雅草央央逆向技术篇之逆向接口协议篇-如何用python逆向接口协议?python逆向接口协议的原理和步骤-优雅草央千澈
【01】优雅草央央逆向技术篇之逆向接口协议篇-如何用python逆向接口协议?python逆向接口协议的原理和步骤-优雅草央千澈
41 6
|
2月前
|
数据采集 存储 缓存
如何使用缓存技术提升Python爬虫效率
如何使用缓存技术提升Python爬虫效率
|
2月前
|
安全 API C语言
Python程序的安全逆向(关于我的OPENAI的APIkey是如何被盗的)
本文介绍了如何使用C语言编写一个简单的文件加解密程序,并讨论了如何为编译后的软件添加图标。此外,文章还探讨了Python的.pyc、.pyd等文件的原理,以及如何生成和使用.pyd文件来增强代码的安全性。通过视频和教程,作者详细讲解了生成.pyd文件的过程,并分享了逆向分析.pyd文件的方法。最后,文章提到可以通过定制Python解释器来进一步保护源代码。
85 6
|
2月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
104 2
|
2月前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!