数据爬取+可视化实战_告白气球_词云展示----酷狗音乐
一、前言
歌词上做文本分析,数据存储在网页上,需要爬取数据下来,词云展示在工作中也变得日益重要,接下来将数据爬虫与可视化结合起来,做个词云展示案例。
二、代码
# -*- coding:utf-8 -*-
# 酷狗音乐 通过获取每首歌歌词ID,生成该歌手的词云
import requests
import sys
import re
import os
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import jieba
from PIL import Image
import numpy as np
from lxml import etreeheaders = {'Referer' :'https://www.kugou.com','Host' :'www.kugou.com','Accept' :'*/*','User-Agent':'Chrome/10'}# 得到一首歌的歌词
def get_song_lyric(headers,lyric_url):res = requests.request('GET', lyric_url, headers=headers)if 'lrc' in res.json():lyric = res.json()['lrc']['lyric']new_lyric = re.sub(r'[\d:.[\]]','',lyric)return new_lyricelse:return ''print(res.json())
# 去掉停用词
#def remove_stop_words(f):
# stop_words = ['还', '人', '着', '又', '就', '在', '也', '不', '会', '和', '是', '没', '说', '们', '谁', '这','对', '而', '不是', '什么', '有限公司', '编写','室', '声', '去', '经纪', '一切', '想', '才', '都', '你', '的', '了', '我', '有', '着这', '让', '看', '作词', '作曲', '编曲', 'Arranger', '录音', '混音', '人声', 'Vocal', '弦乐', 'Keyboard', '键盘', '编辑', '助理', 'Assistants', 'Mixing', 'Editing', 'Recording', '音乐', '制作', 'Producer', '发行', 'produced', 'and', 'distributed']
# for stop_word in stop_words:
# f = f.replace(stop_word, '')
# return f
# 生成词云
def create_word_cloud(f):print('根据词频,开始生成词云!')#f = remove_stop_words(f)cut_text = " ".join(jieba.cut(f,cut_all=False, HMM=True))wc = WordCloud(font_path="./SimHei.ttf",max_words=100,width=2000,height=1200,)print(cut_text)wordcloud = wc.generate(cut_text)# 写词云图片wordcloud.to_file("wordcloud.jpg")# 显示词云文件plt.imshow(wordcloud)plt.axis("off")plt.show()# 所有歌词
all_word = ''
# 获取每首歌歌词
song_id = '536570450'
song_name = '魔术与歌曲:告白气球'# 歌词API URL
lyric_url = 'http://music.163.com/api/song/lyric?os=pc&id=' + song_id + '&lv=-1&kv=-1&tv=-1'
lyric = get_song_lyric(headers, lyric_url)
all_word = all_word + ' ' + lyric
print(song_name)
#根据词频 生成词云
create_word_cloud(all_word)
三、效果展示:
(1)歌词文本展示:

(2)词云图:

相关文章:
数据爬取+可视化实战_告白气球_词云展示----酷狗音乐
一、前言 歌词上做文本分析,数据存储在网页上,需要爬取数据下来,词云展示在工作中也变得日益重要,接下来将数据爬虫与可视化结合起来,做个词云展示案例。 二、代码 # -*- coding:utf-8 -*- # 酷狗音乐 通过获取每首歌…...
rkmedia_vi_get_frame_test.c 代码解析
使用示例: 录像: rkmedia_vi_get_frame_test -a /etc/iqfiles/ -I 1 -o 1080.nv12 然后用yuvplayer.exe可以播放。 录像10帧: rkmedia_vi_get_frame_test -a /etc/iqfiles/ -I 1 -o 1080.nv12 -c 10 解析代码: #include <as…...
探究Kafka原理-3.生产者消费者API原理解析
👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理🔥如果感觉博主的文章还不错的话,请ὄ…...
Linux系统iptables扩展
目录 一. iptables规则保存 1. 导出规则保存 2. 自动重载规则 ①. 当前用户生效 ②. 全局生效 二. 自定义链 1. 新建自定义链 2. 重命名自定义链 3. 添加自定义链规则 4. 调用自定义链规则 5. 删除自定义链 三. NAT 1. SNAT 2. DNAT 3. 实验 ①. 实验要求 ②. …...
Openwrt 系统安装 插件名称与中文释义
系统镜像 当时是去官网找对应的,但是作为门外汉,想简单,可以试试这个网站 插件 OpenWrt/Lede全部插件列表功能注释...
[原创]Delphi的SizeOf(), Length(), 动态数组, 静态数组的关系.
[简介] 常用网名: 猪头三 出生日期: 1981.XX.XXQQ: 643439947 个人网站: 80x86汇编小站 https://www.x86asm.org 编程生涯: 2001年~至今[共22年] 职业生涯: 20年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delphi…...
C++(20):bind_front
C(11):bind_c11 bind_风静如云的博客-CSDN博客 提供了方法来绑定函数参数的方法。 C20提供了bind_front用于简化这个绑定。 #include <iostream> #include <functional> using namespace std;void func1(int d1, int d2) {cout<<__func__<&l…...
【spring】bean的后处理器
目录 一、作用二、常见的bean后处理器2.1 AutowiredAnnotationBeanPostProcessor2.1.1 说明2.1.2 代码示例2.1.3 截图示例 2.2 CommonAnnotationBeanPostProcessor2.2.1 说明2.2.2 代码示例2.2.3 截图示例 2.3 ConfigurationPropertiesBindingPostProcessor2.3.1 说明2.3.2 代码…...
Centos7安装docker、java、python环境
文章目录 前言一、docker的安装二、docker-compose的安装三、安装python3和配置pip3配置python软链接(关键) 四、Centos 7.6操作系统安装JAVA环境 前言 每次vps安装docker都要看网上的文章,而且都非常坑,方法千奇百怪,…...
简单小结类与对象
/*** Description 简单小结类与对象*/ package com.oop;import com.oop.demo03.Pet;public class Application {public static void main(String[] args) {/*1.类与对象类是一个模版:抽象,对象是一个具体的实例2.方法定义、调用!3.对象的引用…...
ABAP 如何获取内表行的索引值(index) ?
获取索引值 在ABAP中,如果需要获取一个内表中某条记录的索引(index),可以使用 READ TABLE 语句。在 READ TABLE 语句后面的 WITH KEY 子句可以指定搜索条件,如果找到了匹配的记录,系统字段 SY-TABIX 将保存…...
ESP32-Web-Server编程- 使用表格(Table)实时显示设备信息
ESP32-Web-Server编程- 使用表格(Table)实时显示设备信息 概述 上节讲述了通过 Server-Sent Events(以下简称 SSE) 实现在网页实时更新 ESP32 Web 服务器的传感器数据。 本节书接上会,继续使用 SSE 机制在网页实时显…...
vue3 Hooks函数使用及常用utils封装
hooks 是什么 vue3使用了composition API,我们可自定义封装hooks,达到复用,在Vue2中采取的mixins,对mixins而言, hooks更清楚复用功能代码的来源, 更清晰易懂。 简单来说:hooks 就是函数的一种写法…...
matlab 无迹卡尔曼滤波
1、内容简介 略 26-可以交流、咨询、答疑 2、内容说明 无迹卡尔曼滤波 无迹卡尔曼滤波 无迹卡尔曼滤波 3、仿真分析 %该文件用于编写无迹卡尔曼滤波算法及其测试 %注解:主要子程序包括:轨迹发生器、系统方程 % 测量方程、UKF滤波器 %----…...
大脑--学习方法
1.大脑喜欢色彩。平时使用高质量的有色笔或使用有色纸,颜色能帮助记忆。 2.大脑集中精力最多只有25分钟。这是对成人而言,所以学习20到30分钟后就应该休息10分钟。你可以利用这段时间做点家务,10分钟后再回来继续学习,效果会更好…...
4.C转python
1.建立函数: def 函数名(形参): 函数体(记得写缩进) return 返回值(python中可以没有return) 2.调用函数: 函数名(实参) 实参和形参个数相等即可,类型不需要相同 其中接收返回值与C中的差不多 3.如果只是定义而不调用则函数不会执行 4.先定义函数,后调用 5.python中可以…...
YOLOv5项目实战(5)— 算法模型优化和服务器部署
前言:Hello大家好,我是小哥谈。近期,作者所负责项目中的算法模型检测存在很多误报情况,为了减少这种误报情况,作者一直在不断优化算法模型。鉴于此,本节课就给大家详细介绍一下实际工作场景中如何去优化算法模型和进行部署,另外为了方便大家进行模型训练,作者在文章中提…...
JavaScript类型判断:解密变量真实身份的神奇技巧
文章目录 1. typeof运算符2. instanceof运算符3. Object.prototype.toString4. Array.isArray5. 使用constructor属性6. 使用Symbol.toStringTag7. 使用is类型判断库8. 谨慎使用隐式类型转换结语 🎉JavaScript类型判断:解密变量真实身份的神奇技巧 ☆* o…...
MT6893_天玑 1200芯片规格参数介绍_datasheet规格书
天玑 1200(MT6893)是一款专为旗舰级全新5G芯片,它融合了先进的AI、相机和多媒体技术,为用户带来令人惊叹的体验。采用先进的6纳米制程设计,内置各种先进技术。该芯片采用旗舰级的八核CPU架构设计,支持16GB强大的四通道内存以及双通…...
【Android踩过的坑】13.Android Studio 运行成功,但APP没有安装上的问题
【Android踩过的坑】13.Android Studio 运行成功,但APP没有安装上的问题 解决办法: 在app的build.gradle文件下添加以下代码 android {...//android.useNewApkCreatorfalse 在高版本gradle下无效,添加以下代码解决冲突即可packagingOptions…...
AI正冲击金融岗!高薪职业如何守住饭碗?金融人转行AI指南
AI技术正全面冲击金融行业,初级分析师、风控专员、客服等中低端认知劳动密集型岗位面临被替代风险。但高端投行、深度研究、资源型和创新型岗位短期内仍安全。金融人转型AI有独特优势,如数据敏感性、业务理解力等。转型路径包括AI应用专家、金融科技产品…...
忍者像素绘卷多场景应用:微信小程序插图、游戏素材、社交配图一站式生成
忍者像素绘卷多场景应用:微信小程序插图、游戏素材、社交配图一站式生成 1. 像素艺术的新纪元 忍者像素绘卷是一款基于Z-Image-Turbo深度优化的图像生成工作站,它将传统像素艺术与现代AI技术完美结合。这款工具特别适合需要快速生成高质量像素风格图像…...
Livox Mid360激光雷达动态避障实战:DWA算法在移动机器人中的应用
1. Livox Mid360激光雷达与DWA算法初探 第一次接触Livox Mid360这款固态激光雷达时,我就被它的性能惊艳到了。相比传统机械式雷达,Mid360不仅体积小巧,而且扫描频率高达100Hz,特别适合用在移动机器人上做实时避障。记得去年给一个…...
视频修复终极指南:如何用UNTRUNC拯救你的损坏视频文件
视频修复终极指南:如何用UNTRUNC拯救你的损坏视频文件 【免费下载链接】untrunc Restore a damaged (truncated) mp4, m4v, mov, 3gp video. Provided you have a similar not broken video. 项目地址: https://gitcode.com/gh_mirrors/unt/untrunc 还记得那…...
别再死磕英文手册了!手把手带你用Lisflood-FP跑通第一个洪水模拟案例(附T001_buscot实战)
从零到一:Lisflood-FP洪水模拟实战指南(T001_buscot案例详解) 刚接触水文模型的研究者常被英文手册劝退——密密麻麻的公式、晦涩的术语、复杂的参数配置让人望而生畏。其实,掌握Lisflood-FP的关键不在于死磕理论,而在…...
Linux进程调度机制与性能优化实践
1. Linux进程调度概述在Linux操作系统中,进程调度是内核最核心的功能之一。作为一个多任务操作系统,Linux需要合理地分配有限的CPU资源给众多进程,使它们能够高效、公平地运行。理解Linux的调度机制,对于系统性能调优、应用开发以…...
【SOC锁死SPORT、ECO不生效?10年VCU老兵:模式管理不是切个开关那么简单!】
SOC锁死SPORT、ECO不生效?10年VCU老兵:模式管理不是切个开关那么简单! 副标题:10年老兵深度拆解 | 标定测试故障产品定义 作者 新能源汽车研发测试 10 年高级工程师 关键词 #VCU车辆模式管理#驾驶模式切换逻辑#SOC阈值标定#扭矩Map#VCU测试标定#新能源三电测试#整车能…...
Llama-3.2-3B优化指南:Ollama性能调优,让模型跑得更快更稳
Llama-3.2-3B优化指南:Ollama性能调优,让模型跑得更快更稳 1. 为什么需要优化Llama-3.2-3B? Llama-3.2-3B作为一款30亿参数的轻量级大语言模型,在消费级硬件上表现出色。但在实际部署中,很多用户会遇到性能瓶颈&…...
静态图编译加速失效?分布式梯度同步卡顿?PyTorch 3.0面试官最想听的3层归因逻辑,现在不看明年校招就晚了
第一章:PyTorch 3.0 静态图分布式训练面试概览PyTorch 3.0 并非官方发布的正式版本(截至2024年,PyTorch最新稳定版为2.3),但“PyTorch 3.0”在技术面试语境中常作为考察候选人对**静态图编译、分布式训练前沿演进与系统…...
世界第一个开源可商用 .NET Office 转 PDF 工具/库 - MiniPdf
一、背景与问题缘起 MySQL 5.6.51 版本下 2000 万行核心业务表开展新增字段操作,需求为新增BIGINT(19) NOT NULL DEFAULT 0 COMMENT 注释(因业务实际需要存储大数值关联字段)。 表的核心特性为Java 多线程密集读写,业务请求持续…...
