计算机毕业设计之基于django和scrapy爬虫的音乐推荐系统

1 简介

博主介绍:✌全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、编程领域优质创作者,博客之星、各平台优质作者、专注于Java,python等技术领域和毕业项目实战✌

🍅文末获取源码联系🍅
计算机毕业设计之基于django和scrapy爬虫的音乐推荐系统

2 设计概要

21世纪是信息化时代,随着信息技术和网络技术的发展,信息化已经渗透到人们日常生活的各个方面,人们可以随时随地浏览到海量信息,但是这些大量信息千差万别,需要费事费力的筛选、甄别自己喜欢或者感兴趣的数据。对网络电影服务来说,需要用到优秀的协同过滤推荐功能去辅助整个系统。

本系统基于java技术,使用UML建模,采用springboot框架组合进行设计,Mysql数据库存储数据。

本系统的功能主要包括本系统的功能主要包括:

计算机毕业设计之基于django和scrapy爬虫的音乐推荐系统

一、系统功能模块

(1)前台用户包含:注册、登录、注销、浏览音乐、搜索音乐、信息修改、密码修改、兴趣喜好标签、音乐评分、音乐收藏、音乐评论、热点推荐、个性化推荐音乐等功能;

(2)后台管理员包含:用户管理、音乐管理、音乐类型管理、评分管理、收藏管理、评论管理、兴趣喜好标签管理、权限管理等。

(3)音乐数据来源:爬取音乐网站数据抓取。

二、开发工具及技术

Python3.6.8,Django3,mysql5.7,navicat数据库管理工具,html页面,javascript脚本,jquery脚本,bootstrap前端框架,layer弹窗组件、webuploader文件上传组件等。

三、设计思路

无论是否登录,在前台首页展示热点推荐(根据音乐被收藏数量降序推荐);当登录用户后,在前台首页展示个性化推荐,基于用户的协同过滤推荐算法和基于项目的协同过滤推荐算法,根据评分数据,如果没有推荐果进行喜好标签推荐(随机查找喜好标签下的音乐)。

先进行需求分析,得出需要实现的功能,再进行数据库表的设计,数据表通过主外建实现关联关系然后是页面设计,页面设计使用bootstrap样式接着是系统代码的开发,基础功能实现后是进行基于用户的协同过滤推荐算法和基于项目的协同过滤推荐算法共计2种算法实现。

四、技术说明

开发框架使用经典的django框架,这也是python web开发的主流框架,采用了MTV的框架模式,即模型M,视图V和模版T,通过pycharm创建一个新的django框架项目,pycharm会生成django的基本配置,直接运行后就可以在浏览器访问django默认首页,只是在生成的框架中添加自定义模块功能。其中,django框架工作流程:

(1)用manage .py runserver 启动Django服务器时就载入了在同一目录下的settings.py。

该文件包含了项目中的配置信息,如前面讲的URLConf等,

其中最重要的配置就是ROOT_URLCONF,

它告诉Django哪个Python模块应该用作本站的URLConf,

默认的是urls.py

(2)当访问url的时候,Django会根据ROOT_URLCONF的设置来装载URLConf。

(3)再按顺序逐个匹配URLConf里的URLpatterns。

如果找到则会调用相关联的视图函数,并把HttpRequest对象作为第一个参数(通常是request)

(4)最后该view函数负责返回一个HttpResponse对象。

  1. 管理员进行信息管理等

3 系统关键技术

具体请直接咨询,以回复为准,使用Java,python,springboot,vue,mysql, mybaties, typescript, html ,css, js 等进行开发

4 开发工具

开发工具主要有:idea、jdk1.8、maven、mysql5.7、Navicat等。

5 代码展示

@RequestMapping("/strategy")
@RestController
@Scope("prototype")
public class StrategyController {
    @Autowired
    private StrategyService strategyService;
    @Value("${web.upload-path}")
    private String path;

    @RequestMapping("/findPage")
    public ObjDat<Strategy> findPage(Strategy strategy, @RequestParam(value="page", defaultValue="1") int page, @RequestParam(value="limit", defaultValue="10") int limit){
        return strategyService.findPage(strategy,page-1,limit);
    }

    @RequestMapping("/edit")
    public JsonResult edit(HttpServletRequest request, Strategy strategy) throws IOException {
        User user=(User)request.getSession().getAttribute("user");
        if(user==null){
            return JsonResult.error("请登录");
        }
        String str=strategyService.edit(request,strategy);
        if(str.equals("成功")){
            return JsonResult.success("操作成功");
        }else{
            return JsonResult.error("操作失败");
        }
    }

6 系统功能描述

项目功能演示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7 最后

大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值