以下学习笔记来自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
项目链接: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
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按钮,手动执行该代码
重新登录用户查看新闻