以下学习笔记来自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按钮,手动执行该代码

重新登录用户查看新闻


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

被折叠的 条评论
为什么被折叠?



