基于Python电影推荐系统 爬虫 Django框架 协同过滤推荐算法 数据分析 vue框架 计算机毕业设计

一、项目介绍:

本推荐系统采用的是分层模型设计思想,第一层为前端页面模型设计,注重为实现页面的展示效果,主用的编程语言为JavaScript,和前端主流框架bootstrap。

第二层为后端模型设计,编程语言选了简单易懂的python,用Django作为后端框架进行开发,此框架是python web系统开发的首选框架,简单易用。

第三层为算法的设计与实现的逻辑,用协同过滤算法来实现,第四层为数据库表的设计,用SQLite数据库。

本系统web端的功能模块,主要实现影片显示、影片分类显示、热门影片排序显示、收藏影片排序显示、时间排序显示、评分排序显示、算法推荐、影片搜索、影片信息管理等功能,并进行数据库的详细设计,完成设计阶段的各项功能,并对此系统进行功能测试,最后,系统进行相关的实际应用操作,通过系统的使用,用户进入电影推荐系统,此系统可以根据用户对电影所打的标签行为,给用户推荐用户所感兴趣的电影,准确率在百分之75左右,用户可以查看信息,观看影片,给影片评分等操作,本系统基本上完成了预期的基本功能。

二、技术介绍:

前端: bootstrap3 + js+ jquery

后端: django 2.2.1 +  django--rest-framework  (MVC框架)

数据库: MySQL/sqlite3

算法:协同过滤推荐算法

豆瓣数据集

通过爬虫去抓取豆瓣电影网站的电影信息,带有图片

id,title ,image-link ,country ,years ,director-description,leader,star ,

description,alltags,imdb,language,time-length

电影数量: 3000

三、功能介绍:

电影展示,标签分类,详情介绍,电影搜索

用户的登录,注册,修改信息

用户对电影的打分,收藏,评论

基于user和Item的协同过滤推荐算法

后台管理系统




四、算法简介

1、冷启动问题解决

推荐值: 相似度*评分 根据用户点赞过得商品来寻找相似度推荐。计算每个点赞过的物品和所有未点赞物品之间的得分。得分=相似度*打分值分越高表示越相似。 然后返回结果。

2、项目文件介绍

media/ 静态文件存放处,图片

movie/ Django的默认app,负责设置的配置还有url路由,部署等功能

static/ css文件和js文件的存放处

user/ 主app,程序的所有代码基本都在这下面 user/migrations为自动生成的数据库迁移文件 user/templates为前端页面模板文件, user/admins.py 为管理员后台代码 user/forms.py为前端表单代码 user/models.py为数据库orm模型 user/serializers.py为restful文件,不用管。 user/urls为路由注册文件。 user/views为负责处理前端请求和与后端数据库交互的模块,也就是controller模块。

cache_keys.py为缓存的key值名称存放文件,不用管。

db.sqlite3数据库文件

douban_crawler.py 豆瓣爬虫文件

manage.py 运行的主程序,从这里启动

Populate movies script.py 填充电影数据到数据库中

Populate user rate.py 随机生成用户评分

recommend_movies.py为推荐算法的部分

model: recommend模型存放的位置

3、后台管理

通过创建管理员进入后台,已经自带管理员用户名和密码均为admins。

同时可以通过python manage.py createsuperuser 在终端交互输入用户名和密码即可

创建超级管理员, (密码输入时终端暂时显示)

进入后台: 127.0.0.1:8000/admin

五、各功能代码位置介绍:

标签分类: 数据库设计Movie通过外键关联Tags表,

电影搜索: 在views.py search方法中。通过电影名,导演名,介绍去进行关键字搜索。

后台管理: 通过django自带的admin后台加插件 在admins.py中注册数据库模型

两种推荐算法: 都在recommend_movies.py文件中。

推荐显示的代码:

前端: items.html

后端: views.py中 388行 user_recommend 传递数据到前端template

算法:recommend_movies.py。

六、依赖包和框架版本

(venv) E:\movie>pip list

Package            Version

aiohttp            3.7.4.

asgiref            3.3.4

async-timeout      3.0.1

attrs              21.2.0

beautifulsoup4      4.9.3

bs4                0.0.1

certifi            2020.12.5

chardet            4.0.0

crawler            0.0.2

Django              2.2.10

django-simpleui    2.1

djangorestframework 3.9.1

greenlet            1.1.0

idna                2.10

idna-ssl            1.1.0

importlib-metadata  4.0.1

lxml                4.6.3

multidict          5.1.0

七、安装运行方法

1.解压项目,解压的文件夹目录下有movie,用pycharm打开movie目录。

2.在pycharm配置python解释器,3.7及以下都可以。可以通过conda或者其他的虚拟环境来安装。

3.打开终端 输入pip install -r requirements.txt 若提示无pip。去下载get-pip.py 运行python get-pip.py

4.安装成功后, 使用pip list 查看已经安装好的package,和requirements.txt中的进行对比,确认安装无误。

有两种运行方法:

1.通过命令行/cmd运行: python manage.py runserver

2.通过Pycharm专业版配置运行,右上角选中movie,一键运行,第一次运行时间可能比较长,因为需要将item_recommend的相似矩阵计算出来。将模型保存到本地。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容