Datawhale组队学习——推荐系统Task01 熟悉新闻推荐系统基本流程

本文档详细记录了在Windows10环境下,采用一系列技术如MySQL8.0.27、Redis5.0.9、Mongodb4.4.10等搭建新闻推荐系统的过程。包括前端与后端IDE的选择、数据库连接工具DataGrip的使用,以及项目代码的下载、导入和配置。在前端,主要涉及Node.js、WebStorm和前端代码的运行;在后端,涉及Python环境配置、依赖安装和后端服务启动。此外,还介绍了用户注册、新闻爬取、物料画像更新、数据清理和推荐列表生成等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下学习笔记来自Datawhale12月组队学习推荐系统课程Task1——【Task01 熟悉新闻推荐系统基本流程】,参照了群里 天国之影-JustForFun 大佬的笔记及视频进行了项目环境的搭载,少踩了很多坑,最终跑通了代码。

项目链接:https://github.com/datawhalechina/fun-rec

大佬的笔记:https://share.weiyun.com/u3ZIjZfg

使用软件

操作系统:Windows10
MySQL:8.0.27
Redis:5.0.9
Mongodb:4.4.10
Anaconda3
Node.js:16.13.1
前端IDE:WebStorm 2021.1
后端IDE:PyCharm Professional 2021.1
访问MySQL和Mongodb的数据库工具:DataGrip 2021.1

项目下载与IDE导入

项目链接:https://github.com/datawhalechina/fun-rec

前端导入:
请添加图片描述
后端项目导入:
请添加图片描述

数据库连接
请添加图片描述

前端项目运行

下载node.js,里面带有npm
将package,json里的IP地址改为127.0.0.1
打开src下的main.js,修改第22行的IP和端口,具体如下:
请添加图片描述

按照readme跑通前端代码

请添加图片描述
之后浏览器会自动访问地址:http://127.0.0.1:8686/#/

后端项目运行

安装anaconda并创建虚拟环境

(base) C:\Users\19635>conda create -n news_rec_py3 python=3.8

pycharm设置python解释器
请添加图片描述
安装依赖

pip install -r requirements.txt

打开文件server.py,修改第233行的IP和端口,修改内容如下:
在这里插入图片描述
修改项目路径配置文件proj_path.py,文件路径:conf/proj_path.py
在这里插入图片描述
打开数据库配置文件dao_config.py,文件路径:conf/dao_config.py,默认为以下配置,可根据需要自行修改:

# MySQL默认配置
mysql_username = "root"
mysql_passwd = "123456"
mysql_hostname = "localhost"
mysql_port = "3306"

# MongoDB配置
mongo_hostname = "127.0.0.1"
mongo_port = 27017

# Redis配置
redis_hostname = "127.0.0.1"
redis_port = 6379

启动雪花算法服务

snowflake_start_server --address=127.0.0.1 --port=8910 --dc=1 --worker=1

启动server.py程序(注:在此之前,必须启动数据库并创建数据库),执行如下命令:

python server.py

请添加图片描述

项目整体运行和调试

注册用户:
在注册用户界面注册用户即可,注册完之后会发现mysql中多了user

爬取新浪新闻
通过查看crawl_news.sh文件(文件路径:scheduler/crawl_news.sh),可知爬取新浪新闻的代码在如下目录
/materials/news_scrapy/sinanews/run.py
使用PyCharm的Run按钮,手动执行该代码,需要配置参数:
在这里插入图片描述
更新物料画像
通过查看offline_material_and_user_process.sh文件(文件路径:scheduler/offline_material_and_user_process.sh),可知更新物料画像的代码在如下目录:
materials/process_material.py

在这里插入图片描述
更新用户画像
通过查看offline_material_and_user_process.sh文件(文件路径:scheduler/offline_material_and_user_process.sh),可知更新物料画像的代码在如下目录:
materials/process_material.py
请添加图片描述

清除前一天redis中的数据,更新最新今天最新的数据

通过查看offline_material_and_user_process.sh文件(文件路径:scheduler/offline_material_and_user_process.sh),可知清除前一天redis中的数据,更新最新今天最新的数据的代码在如下目录:
materials/update_redis.py
使用PyCharm的Run按钮,手动执行该代码
在这里插入图片描述

离线将推荐列表和热门列表存入redis
通过查看run_offline.sh文件(文件路径:scheduler/run_offline.sh),可知离线将推荐列表和热门列表存入redis的代码在如下目录:
recprocess/offline.py
使用PyCharm的Run按钮,手动执行该代码

请添加图片描述

重新登录用户查看新闻

请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值