上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL)

guduadmin31天前

目录

摘 要 - 1 -

Abstract - 2 -

第1章 前 言 - 4 -

1.1 研究背景 - 4 -

1.2 研究现状 - 5 -

1.2.1 国内研究现状 - 5 -

1.2.2 国外研究现状 - 6 -

1.3 发展趋势 - 6 -

1.4 研究主要内容 - 6 -

第2章 技术与原理 8

2.1 大数据环境 8

2.1.1 全球开源的Linux系统-Ubuntu 8

2.1.2 开源分大数据处理平台Hadoop 8

2.1.3 shell 8

2.1.4 kettle 8

2.1.5 Scala 9

2.2 数据获取与处理 9

2.2.1 Pymysql 9

2.2.2 Urllib.request 9

2.2.3 besutifulsoup4 9

2.3网页端 9

2.3.1 tomcat9 9

2.3.2 spring 10

第3章 数据采集及分析 11

3.1 数据获取 11

3.2 音频处理 12

3.2.1 音乐格式转换与时长处理 12

3.2.2 midi生成 13

3.3 音频特征 14

3.3.1 基础音频信息 14

3.3.2 统计特征提取 18

3.4 数据降维及归一化 22

3.4.1 PCA主成分分析 22

3.4.2 数据归一化 23

3.5 聚类算法 23

3.5.1 K-Means聚类 24

3.5.2 MiniBatch k-Means 25

3.5.3 评价聚类模型 25

3.6 分类算法 27

3.6.1 HMM算法(隐马尔可夫模型) 27

第4章 系统实现 30

4.1系统总体模块结构设计 30

4.2 局部模块设计 31

4.2.1 登录注册模块 31

4.2.2 热门推荐模块 31

4.2.3 新歌上架模块 32

4.2.4 个性化推荐模块 32

4.2.5 用户中心模块 33

4.2.6 音乐管理模块 33

4.2.7 用户管理模块 34

4.2.8 评论管理模块 34

4.3 系统角色功能设计 35

4.4 推荐系统数据库设计 35

4.4.1 数据库概念结构设计 35

4.4.2 数据库物理结构设计 37

4.5 大数据平台搭建设计 39

4.5.1 hadoop的安装与配置 39

4.5.2 spark的安装 42

4.6 推荐算法设计 42

第5章 结论 48

参考文献 49

致 谢 50

项目简介:可以看作是一个简单的HTML5在线音乐播放器。

主要环境:

Spring Boot 2.5.x;Vue3.0(虽然是3.0,但还是2.0的写法);数据库mysql8.x版本(没有的可以在官网下最新版https://www.mysql.com/downloads/);Node.js版本>=14.1,在官网下载最新的LTS长期支持版本也可(https://nodejs.org/en/);JDK8或者JDK11,在官网下载或者使用上传的jdk11版本

主要开发工具:

Java主要使用IDEA,可以使用校园邮箱whut.edu.cn结尾的邮箱申请旗舰版,邮箱申请在智慧理工大可以申请,很快。

前端的话我主要使用的是VS Code,,也可以使用web Storm等

VS Code插件:

汉化:Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code;

开发Vue:Vue 3 Support - All In One;Vue Language Features (Volar);XML Format;Visual Studio IntelliCode;Live Server等。

# 获取用户的信息
# 动态爬虫
from selenium import webdriver
# 解析文本
from bs4 import BeautifulSoup
# webdriver实例化,因为需要进入到iframe中获取数据,所以需要使用selenium
option = webdriver.ChromeOptions()
# 设置option,不弹出显示框
option.add_argument('headless')
# 调用带参数的谷歌浏览器
driver = webdriver.Chrome(options=option)
def get_playlist_url(file_name):
    """
    得到歌单的url数组
    :param file_name: 存放歌单的文件的名称
    :return: 歌单url数组
    """
    playlist_url = []
    with open(file_name, 'r', encoding='utf-8') as f:
        for line in f:
            data = line.split('\t')
            playlist_url.append(data[2])
        f.flush()
        f.close()
    return playlist_url
def write_user(playlist_url):
    """
    根据歌单id获得当前歌单中共评论用户的信息,并存储起来,然后抓取他们的播放记录
    :param playlist_url: 歌单url
    :return: 空
    """
    # 发送url请求
    driver.get(playlist_url)
    # 找到指定iframe标签(这里是g_iframe)然后跳入
    driver.switch_to.frame('g_iframe')
    # 使用bs4解析文档
    html_soup = BeautifulSoup(driver.page_source, "html.parser")
    # 获得评论部分文档
    all_user_div = html_soup.find(id='comment-box').find(class_='m-cmmt').find_all(class_='itm')
    # all_user_div = html_soup.find(id='comment-box')
    print(all_user_div)
    # 写入文件
    with open('dataset/user_info_init.txt', 'a', encoding='utf-8') as f:
        for user_div in all_user_div:
            user_info = user_div.find(class_='cntwrap').find('a')
            user_id = user_info.get('href')[14:]
            user_name = user_info.text
            user_url = 'https://music.163.com/#' + user_info.get('href')
            user_info_line = user_id + '\t' + user_name + '\t' + user_url
            print(user_info_line)
            f.write(user_info_line + '\n')
            f.flush()
        f.close()
# 获得歌单id数组
all_playlist_url = get_playlist_url('dataset/playlist_data.txt')
for playlist_id in all_playlist_url:
    write_user(playlist_id)
# def get_user_info(playlist_id):

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第1张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第2张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第3张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第4张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第5张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第6张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第7张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第8张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第9张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第10张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第11张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第12张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第13张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第14张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第15张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第16张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第17张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第18张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第19张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第20张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第21张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第22张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第23张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第24张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第25张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第26张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第27张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第28张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第29张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第30张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第31张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第32张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第33张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第34张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第35张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第36张

基于大数据的音乐流行趋势预测及推荐分析(Python+Spring Boot+Node.js+MySQL),在这里插入图片描述,第37张

网友评论

搜索
最新文章
热门文章
热门标签