Python之爬虫-全民k歌
import re
import os
import requests
from aip import AipSpeech
from pydub import AudioSegment
APP_ID = ''
API_KEY = ''
SECRET_KEY = ''
def save_mp4(filename, url):
response = requests.get(url)
data = response.text
mp4_url = re.findall('"playurl":"(.*?)"', data)
mp4_response = requests.get(mp4_url[0])
mp4_data = mp4_response.content
with open(filename, 'wb') as fw:
fw.write(mp4_data)
def cut_speech(filename):
file_name = filename
sound = AudioSegment.from_wav(filename)
start_time = "0:00"
stop_time = "0:42"
print("time:", start_time, "~", stop_time)
start_time = (int(start_time.split(':')[0]) * 60 + int(start_time.split(':')[1])) * 1000
stop_time = (int(stop_time.split(':')[0]) * 60 + int(stop_time.split(':')[1])) * 1000
print("ms:", start_time, "~", stop_time)
word = sound[start_time:stop_time]
save_name = "word" + file_name[6:]
print(save_name)
word.export(save_name, format="mp3", tags={'artist': 'AppLeU0', 'album': save_name[:-4]})
def automatic_speech_recognition(filename):
"""语音识别"""
# 调用语音识别接口
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
# 把.m4a格式的文本转换成.pcm的二进制音频序列文本
# f''是f-string格式化字符串
os.system(f'ffmpeg -y -i {filename} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filename}.pcm')
# 打开.pcm格式的二进制音频序列文本
with open(f'{filename}.pcm', 'rb') as f:
data = f.read()
# 语音识别。参数为:音频流,音频格式/pcm格式/wav格式,音频采样率支持8000-16000,{语言id,1536可以识别简单英文、1537不能识别简单英文}
asr_result = client.asr(data, 'pcm', 16000, {'dev_pid': 1536})
print('\nasr_result:{}'.format(asr_result))
if asr_result.get('result') is None:
return '', False
else:
return asr_result, True
if __name__ == '__main__':
name = 'test'
url = 'https://kg2.qq.com/node/play?s=GJH9sHGzgexrKGh-&shareuid=6a9a958c252a378836&topsource=a0_pn201001006_z1_u878907032_l1_t1558015859__'
filename = f'{name}.m4a'
save_mp4(filename, url)
os.system(f'ffmpeg -y -i {filename} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filename}.pcm')
filename = f'{filename}.pcm'
cut_speech(filename)
# print('done...')
# asr_result = automatic_speech_recognition(filename)
# print(asr_result)
Python之爬虫-全民k歌的更多相关文章
- 【收藏】轻松导出全民K歌里任何人录制的短视频(MV)、歌曲的方法
有一次想把她在全民K歌里唱过的所有歌下载到电脑上,然后合成一个视频.但不知道怎么导出全民K歌里的歌曲,经过各种百度Google终于找到了一个用起来很简单的工具.不仅可以下载保存任何人录制的歌曲,还可以 ...
- python3爬取全民K歌
Python3爬取全民k歌 环境 python3.5 + requests 1.通过歌曲主页链接爬取 首先打开歌曲主页,打开开发者工具(F12). 选择Network,点击播放,会发现有一个请求返回的 ...
- 推荐系统[八]算法实践总结V0:腾讯音乐全民K歌推荐系统架构及粗排设计
1.前言:召回排序流程策略算法简介 推荐可分为以下四个流程,分别是召回.粗排.精排以及重排: 召回是源头,在某种意义上决定着整个推荐的天花板: 粗排是初筛,一般不会上复杂模型: 精排是整个推荐环节的重 ...
- python爬取全名k歌
python3 爬取全名k歌 代码: import re import requests import ssl ssl._create_default_https_context=ssl._creat ...
- anyRTC 重磅推出在线实时 K 歌解决方案
在线音乐领域一直是各大资本巨头投资的热点,从抢占版权到现在的"云上之争", 主流平台的战火从版权资源转向创新领域扩延.而如今,在线K歌正在成为抢占"云音乐"市场 ...
- [Python] 网络爬虫和正则表达式学习总结
以前在学校做科研都是直接利用网上共享的一些数据,就像我们经常说的dataset.beachmark等等.但是,对于实际的工业需求来说,爬取网络的数据是必须的并且是首要的.最近在国内一家互联网公司实习, ...
- python简易爬虫来实现自动图片下载
菜鸟新人刚刚入住博客园,先发个之前写的简易爬虫的实现吧,水平有限请轻喷. 估计利用python实现爬虫的程序网上已经有太多了,不过新人用来练手学习python确实是个不错的选择.本人借鉴网上的部分实现 ...
- python 网络爬虫(二) BFS不断抓URL并放到文件中
上一篇的python 网络爬虫(一) 简单demo 还不能叫爬虫,只能说基础吧,因为它没有自动化抓链接的功能. 本篇追加如下功能: [1]广度优先搜索不断抓URL,直到队列为空 [2]把所有的URL写 ...
- 在香港用什么软件可以唱歌?香港K歌app推荐
KTV的源头来自于日本,KTV是Karaok TV的缩写.随着互联网时代越来越发达,手机K歌成了很多人会选择的方式,那么在香港有什么好用的K歌软件呢?这里qt6小编给大家推荐几款好用的,让你足不出户即 ...
- 第三百五十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—将bloomfilter(布隆过滤器)集成到scrapy-redis中
第三百五十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—将bloomfilter(布隆过滤器)集成到scrapy-redis中,判断URL是否重复 布隆过滤器(Bloom Filter)详 ...
随机推荐
- 【JS】04 DOM 文档对象模型 P1 查找元素、改变内容、绑定事件
什么是DOM? Document Object Model 文档指的是HTML文档 当浏览器打开一个网页的时候,实际上把HTML文档读取到内存中进行解析 整个HTML文档被封装为document文档对 ...
- 【Vue】Re15 Router 第二部分(缺省路由、动态路由)
一.设置首页重定向: import Vue from 'vue'; import Router from 'vue-router'; import Home from "../compone ...
- 内网穿透之实践记录,使用花生壳进行内外穿透,场景:在家远程ssh连接到公司电脑或学校服务器
今天在网上闲逛的时候看到这样一个内网穿透的软件,ngrok, https://gitee.com/kxwinxp/ngrok 记得10多年前自己在读大学的时候曾经好一段时间在研究内网穿透技术,最后发现 ...
- python版本的“共轭梯度法”算法代码
在看代码的过程中遇到了共轭梯度法这个概念,对这个算法的数学解释看过几遍,推导看过了,感觉懂了,然后过上一些日子就又忘记了,然后又看了一遍推导,然后过了一些日子也就又忘记了,最后想想这个算法的数学解释就 ...
- Spring Boot Admin对Springboot服务进行监控
1.背景 大纲 Spring Boot Admin 是一个管理和监控Spring Boot 应用程序的开源软件.每个应用都认为是一个客户端,通过HTTP或者使用 Eureka注册到admin serv ...
- 手把手教你实现Scrapy-Redis分布式爬虫:从配置到最终运行的实战指南
## 1.scrapy-redis的环境准备 pip install scrapy-redis 安装完毕之后确保其可以正常导入使用即可. 2. 实现 接下来我们只需要简单的几步操作就可以实现分布式爬虫 ...
- SMU 2024 spring 天梯赛3
SMU 2024 spring 天梯赛3 7-1 重要的话说三遍 - SMU 2024 spring 天梯赛3 (pintia.cn) I'm gonna WIN! I'm gonna WIN! I' ...
- Go 链路追踪入门 Opentelemetry
前言 Opentelemetry 分布式链路跟踪( Distributed Tracing )的概念最早是由 Google 提出来的,发展至今技术已经比较成熟,也是有一些协议标准可以参考.目前在 Tr ...
- 10W数据量导入与现有表数据去重
使用的是PostgreSQL 在做大数据量(十万级)导入时,某些字段和数据库表里数据(千万级)重复的需要排除掉,把表数据查询出来用程序的方式判断去重效率很低,于是考虑用临时表. 先把新数据插入到临时表 ...
- 【Python】之pip安装第三方库失败
一直报错:Could not fetch URL https://pypi.org/simple/pygame/: There was a problem confirming the ssl cer ...