littlebot
Published on 2025-04-14 / 0 Visits
0

【源码】基于Flask和Neo4j的番剧推荐系统

项目简介

本项目是基于Flask框架和Neo4j图形数据库构建的番剧推荐系统。借助协同过滤算法、随机推荐和新番推荐等功能,为用户提供个性化的番剧推荐服务。用户可通过网站浏览推荐番剧、进行搜索、评分,还能完成注册登录操作。

项目的主要特性和功能

  1. 协同过滤推荐:依据用户评分数据,运用余弦相似度算法为用户推荐个性化番剧。
  2. 随机推荐:从数据库随机选取番剧推荐给用户。
  3. 新番推荐:按照番剧发布时间,推荐最新番剧。
  4. 用户评分:用户可为番剧评分,评分数据用于个性化推荐。
  5. 搜索功能:用户能通过关键词搜索番剧。
  6. 用户注册与登录:用户可注册新账号并登录系统。

安装使用步骤

1. 环境准备

确保已安装以下软件: - Python 3.x(建议使用3.9版本) - Neo4j 数据库(建议使用4.2.15版本) - Java 12 或更高版本(用于运行Neo4j)

2. 安装依赖库

在项目根目录下运行以下命令安装所需的Python库: bash pip install flask py2neo

3. 配置Neo4j数据库

  1. 启动Neo4j:在终端中输入以下命令启动Neo4j数据库: bash neo4j.bat console 打开浏览器访问 http://localhost:7474/,使用默认用户名和密码 neo4j 登录。
  2. 导入数据
  3. data 文件夹下的 Bangumi_data.csvuname.csvlianxi.csv 文件复制到Neo4j的 import 目录下。
  4. 在Neo4j的Web界面中依次运行以下Cypher命令导入数据: cypher // 加载动画数据 load CSV with headers from "file:///CSV/Bangumi_data.csv" as list create(:Animation{title_chinese:list.title1, ID:list.id, title_foreign:list.title2, episode:list.Episode, date:list.date, worker:list.worker, score:list.score, number_of_rater:list.s_number, image_url:list.image_url, label:list.label, introduction:list.txtl}) cypher // 加载用户数据 load csv with headers from "file:///CSV/uname.csv" as list create(:User{username:list.name,ID:list.uid,password:list.mima}) cypher // 加载评分数据 load csv with headers from "file:///CSV/lianxi.csv" as list match(u:User),(a:Animation) where u.ID = list.uid and a.ID = list.id with u,a,list create (u)-[:SCORE_ON{score:list.score}]->(a)

4. 运行项目

在项目根目录下运行以下命令启动Flask应用: bash python drama_recommended.py 启动后,访问 http://127.0.0.1:5000/ 即可使用番剧推荐系统。

注意事项

  • 运行项目时,确保Neo4j数据库已启动并保持运行状态。
  • 修改 drama_recommended.pyrecommend.pyRWData.py 中的Neo4j数据库连接密码,确保与本地Neo4j数据库的密码一致。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】