个性化动漫推荐系统开发教程 使用python、django、mysql、基于用户/物品的协同过滤推荐算法等技术 在线动漫推荐系统 个性化推荐、热门推荐、相关推荐、排行榜PersonalizedAnimeRecWebPy
一、项目简介
1、开发工具和使用技术
Python3及以上版本,Django3.6及以上版本,mysql8,navicat数据库管理工具或者sqlyog数据库管理工具,bootstrap前端框架,bootstrap字体图标,html页面,javascript脚本,jquery脚本,jquery.raty五角星评分组件等。
2、实现功能
前台首页地址:http://127.0.0.1:8000/
后台首页地址:http://127.0.0.1:8000/admin
管理员账号:admin 管理员密码:admin
前台用户包含:登录、注册、忘记密码、退出登录、搜索动漫、浏览动漫、修改信息、密码修改、用户评分、用户收藏、用户评论、用户点赞、浏览历史、排行榜、个性化推荐等功能;
后台管理员包含:动漫类型管理、动漫管理、用户管理、用户评分管理、用户收藏管理、用户评论管理、用户点赞管理、用户浏览管理、管理员管理等。
推荐动漫:
游客(用户未登录):
为你推荐:根据动漫平均评分进行热门推荐;
猜你喜欢:根据动漫点赞数量进行热门推荐。
登录用户:
为你推荐:采用基于用户的协同过滤推荐算法,根据用户评分数据,如果基于用户的协同过滤推荐算法没有推荐结果(冷启动和数据稀疏性问题造成没有推荐结果),根据动漫平均评分进行热门推荐,同时排除登录用户已有评分的动漫;
猜你喜欢:采用基于物品的协同过滤推荐算法,根据用户点赞数据,如果基于物品的协同过滤推荐算法没有推荐结果(冷启动和数据稀疏性问题造成没有推荐结果),根据动漫点赞数量进行热门推荐,同时排除登录用户已有点赞的动漫。
相关推荐:
查找当前动漫类型下收藏量较高的动漫,同时不包括当前登录用户收藏过的动漫。
排行榜:
人气榜单,查询浏览数量较高的动漫。
动漫数据来源:爬取B站动漫网站
3、开发步骤
一、设计思路
先进行需求分析,得出需要实现的功能,
再进行数据库表的设计,数据表通过主外建实现关联关系
然后是页面设计,页面设计使用bootstrap样式
接着是系统代码的开发,基础功能实现后是进行算法实现
二、框架描述
开发框架使用经典的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对象。
三、数据库的设计
数据库设计是使用navicat来创建,操作非常简便
四、算法的实现都是使用python常规函数,严格按照算法步骤实现(算法步骤代码注释很详细)
二、项目展示
三、代码展示及运行结果