程序技术好文:用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天前
|
JSON 数据可视化 API
技术心得:如何用Python和API收集与分析网络数据?
技术心得:如何用Python和API收集与分析网络数据?
10 2
|
2天前
|
存储 缓存 网络协议
技术笔记:python使用memcached
技术笔记:python使用memcached
|
3天前
|
Python
技术经验解读:【Python】torrentParser1.04增加获得磁力链URI功能
技术经验解读:【Python】torrentParser1.04增加获得磁力链URI功能
|
3天前
|
Python
技术心得记录:分分钟学会一门语言之Python3篇【转载】
技术心得记录:分分钟学会一门语言之Python3篇【转载】
|
3天前
|
文字识别 API C++
技术好文共享:编写Tesseract的Python扩展
技术好文共享:编写Tesseract的Python扩展
|
3天前
|
Shell Python
技术经验解读:使用python脚本传递参数:(三种方式可收藏)
技术经验解读:使用python脚本传递参数:(三种方式可收藏)
|
3天前
|
程序员 API 计算机视觉
技术经验解读:【python自动化】02.pywin32库自动操作键鼠(保姆级代码注释)
技术经验解读:【python自动化】02.pywin32库自动操作键鼠(保姆级代码注释)
|
分布式计算 JavaScript NoSQL
Python 2013 精彩回顾:新闻、好文和资源
没想到2013年这么快就过去了,但是2013留给我们的却是互联网上很多优秀的文章、教程、经验以及开源项目。现在,就让我们来回顾一下2013年有关于Python的精彩的开发文章吧。趁着这些文章还没有过时,Python开发者们赶紧看过来了。
142 0
|
8天前
|
机器学习/深度学习 人工智能 前端开发
Python中的模块化编程
【6月更文挑战第17天】Python模块化编程与软件架构设计的关键在于拆分任务到独立模块,提高代码的可维护性、可重用性和可扩展性。例如,学生管理系统可分解为录入、查询和删除模块。MVC和MVVM架构模式有助于组织代码,而微服务和函数式编程将在未来发展中扮演重要角色。通过示例代码,读者能学习如何实现这些概念,提升项目开发效率和质量。
155 57
|
15天前
|
测试技术 虚拟化 云计算
GitHub高赞!速通Python编程基础手册,被玩出花了!
随着云时代的来临,Python 语言越来越被程序开发人员喜欢和使用,因为其不仅简单易学,而且还有丰富的第三方程序库和相应完善的管理工具。 从命令行脚本程序到 GUI程序,从图形技术到科学计算,从软件开发到自动化测试,从云计算到虚拟化,所有这些领域都有 Python 的身影。 今天给小伙伴们分享的这份手册采用以任务为导向的编写模式,全面地介绍了 Python 编程基础及其相关知识的应用,讲解了如何利用 Python 的知识解决部分实际问题。
GitHub高赞!速通Python编程基础手册,被玩出花了!