程序技术好文:用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)


多线程:(在路上)


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


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

相关文章
|
2月前
|
存储 监控 API
Python实战:跨平台电商数据聚合系统的技术实现
本文介绍如何通过标准化API调用协议,实现淘宝、京东、拼多多等电商平台的商品数据自动化采集、清洗与存储。内容涵盖技术架构设计、Python代码示例及高阶应用(如价格监控系统),提供可直接落地的技术方案,帮助开发者解决多平台数据同步难题。
|
3月前
|
人工智能 Linux 开发工具
Python从零到一:手把手带你写出第一个实用程序
Python语法简洁易懂,适合编程新手入门。它广泛应用于人工智能、自动化办公、Web开发等领域。学习Python可快速搭建项目,拥有丰富库支持和强大社区资源。通过本教程,你将掌握基础语法、环境搭建、程序逻辑控制及实战项目开发,开启编程之旅。
333 0
|
22天前
|
数据可视化 大数据 关系型数据库
基于python大数据技术的医疗数据分析与研究
在数字化时代,医疗数据呈爆炸式增长,涵盖患者信息、检查指标、生活方式等。大数据技术助力疾病预测、资源优化与智慧医疗发展,结合Python、MySQL与B/S架构,推动医疗系统高效实现。
|
2月前
|
数据采集 存储 XML
Python爬虫技术:从基础到实战的完整教程
最后强调: 父母法律法规限制下进行网络抓取活动; 不得侵犯他人版权隐私利益; 同时也要注意个人安全防止泄露敏感信息.
643 19
|
1月前
|
数据采集 自然语言处理 数据可视化
Python爬取B站视频评论区情感分析:从数据采集到价值挖掘
B站作为年轻人聚集地,评论蕴含丰富情感与趋势。本文详解如何用Python爬取评论,结合SnowNLP与jieba进行中文情感分析,并通过可视化挖掘用户情绪、消费意愿与内容反馈,助力精准运营与决策。
244 0
|
2月前
|
设计模式 决策智能 Python
Python条件控制:让程序学会"思考"的魔法
本文深入浅出地讲解Python条件控制,从基础if语句到多分支、嵌套结构,再到简洁的三元表达式与Python 3.10新增的match-case模式匹配,结合电商折扣、会员等级、ATM系统等实战案例,全面掌握程序“智能决策”的核心逻辑。
312 0
|
3月前
|
数据采集 机器学习/深度学习 数据可视化
Python量化交易:结合爬虫与TA-Lib技术指标分析
Python量化交易:结合爬虫与TA-Lib技术指标分析
|
4月前
|
机器学习/深度学习 数据安全/隐私保护 计算机视觉
过三色刷脸技术,过三色刷脸技术教程,插件过人脸python分享学习
三色刷脸技术是基于RGB三通道分离的人脸特征提取方法,通过分析人脸在不同颜色通道的特征差异
|
4月前
|
数据采集 自然语言处理 分布式计算
大数据岗位技能需求挖掘:Python爬虫与NLP技术结合
大数据岗位技能需求挖掘:Python爬虫与NLP技术结合

推荐镜像

更多