From 66909abc483532223effcd2854b2459f45bceaf9 Mon Sep 17 00:00:00 2001 From: RuyiLuo Date: Sun, 5 Dec 2021 16:27:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E8=AF=B4=E6=98=8E=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- codes/news_recsys/news_rec_server/README.md | 41 ++++++------ .../news_rec_server/materials/README.md | 21 +++---- .../news_rec_server/scheduler/README.md | 8 +++ .../news_rec_web/Vue-newsinfo/README.md | 63 ++----------------- 4 files changed, 44 insertions(+), 89 deletions(-) create mode 100644 codes/news_recsys/news_rec_server/scheduler/README.md diff --git a/codes/news_recsys/news_rec_server/README.md b/codes/news_recsys/news_rec_server/README.md index 33c69f0d..6bf87780 100644 --- a/codes/news_recsys/news_rec_server/README.md +++ b/codes/news_recsys/news_rec_server/README.md @@ -1,25 +1,28 @@ +# 项目环境 -该项目主要是新闻推荐系统的后端及推荐服务相关的内容,这个项目将前端单独拿出来了。 +**pythonh环境** +1. 安装conda环境 +2. 创建conda虚拟环境: conda create -n news_rec_py3 python==3.8 +3. 安装依赖文件: pip install -r requirements.txt -代码规范,先用python规范就行 +**ubuntu数据库环境** +1. 参考 2.2.1.1 Mysql基础 +2. 参考 2.2.1.2 MongoDB基础 +3. 参考 2.2.1.3 Redis基础 -# TODO -项目目录结构待完善 +**ubuntu前端环境配置** +1. 安装node, 推荐安装v8.17.0版本(已经放到了项目目录中) +2. 安装前端环境依赖: + 1. 跳转到前端项目文件目录:cd $HOME/fun-rec/codes/news_recsys/news_rec_web/Vue-newsinfo + 2. 命令行运行:npm install +# 项目启动 -## 前端展示逻辑: -1. 开机页(放一张和app大小相同的页面,上面显示几个字),此时只能点击我的进行登录,否则无法看到内部的具体内容 -2. 登录页,用户名,密码,登录,注册等相关界面 - 输入用户名和密码,如果后端返回ok, 就跳转到推荐页,否则提示账号或者密码错误 -3. 推荐和热门面显示的内容不需要变 -4. 点击某一篇文章之后,向后端发送 user_id, news_id, action= { read, likes, collections } +**启动后端服务** +1. 跳转到后端项目文件目录: cd $HOME/fun-rec/codes/news_recsys/news_rec_server +2. 启动后端服务: python server.py - -## 后端数据相关 -1. log日志 -2. 用户画像数据及更新 -3. 新闻画像数据及更新 - - -运行新闻推荐后端服务 -python server.py \ No newline at end of file +**启动前端服务** +1. 跳转到前端项目文件目录:cd $HOME/fun-rec/codes/news_recsys/news_rec_web/Vue-newsinfo +2. 启动前端服务:npm run dev +3. 访问地址`http://localhost:3000` \ No newline at end of file diff --git a/codes/news_recsys/news_rec_server/materials/README.md b/codes/news_recsys/news_rec_server/materials/README.md index 4b3cf10d..35f5f64f 100644 --- a/codes/news_recsys/news_rec_server/materials/README.md +++ b/codes/news_recsys/news_rec_server/materials/README.md @@ -8,22 +8,19 @@ scrapy项目结构的细节可以参考开源项目对应的文档 - 爬取新闻是一个增量的过程,每天只爬取当天的新闻 - 新闻爬取的时候需要提前之前物料池中的所有物料的标题给存下来用来去重 +## materials_process/ -TODO: -1. 启动crontab,定时爬取(联调的时候再使用) -2. 爬取新闻的数量,最后需要改大一点 +- log日志处理 +- 新闻画像处理 +- 新闻画像存入redis -## materials/ +## user_process/ -- 根据爬取的数据制作物料画像 -- 新闻物料去重逻辑的实现,需要依赖materials/中最新的物料画像 +- 用户画像处理 -TODO: -1. 将前端展示数据根据news_id存储到redis中 +--- + 注意:Redis的value存储中文后,get之后显示16进制的字符串”\xe4\xb8\xad\xe5\x9b\xbd”,如何解决? -启动redis-cli时,在其后面加上--raw即可,汉字即可显示正常, 如上面所示的内容 - -注意:zrange rec_list 0 9 返回的是排序之后的前10个元素,并且是按照value从小到大进行排序的 - +启动redis-cli时,在其后面加上--raw即可,汉字即可显示正常, 如上面所示的内容 \ No newline at end of file diff --git a/codes/news_recsys/news_rec_server/scheduler/README.md b/codes/news_recsys/news_rec_server/scheduler/README.md new file mode 100644 index 00000000..4d3a8547 --- /dev/null +++ b/codes/news_recsys/news_rec_server/scheduler/README.md @@ -0,0 +1,8 @@ +## 物料构建脚本 +1. + +## 离线物料自动化构建 + +**每天0点爬取前一天的内容,爬取完数据再更新特征库,更新完特征库之后再更新用户的画像,然后将redis中所有数据都清空,将特征库中的前端展示信息存入redis** +配置crontab命令,命令行输入crontab -e,然后将下面命令的输入到crontab命令行中 +> 0 0 * * * $HOME/fun-rec/codes/news_recsys/news_rec_server/scheduler/crawl_news.sh >> $HOME/fun-rec/codes/news_recsys/news_rec_server/logs/offline_material_process.log && $HOME/fun-rec/codes/news_recsys/news_rec_server/scheduler/offline_material_and_user_process.sh >> $HOME/fun-rec/codes/news_recsys/news_rec_server/logs/material_and_user_process.log && $HOME/fun-rec/codes/news_recsys/news_rec_server/scheduler/run_offline.sh >> $HOME/fun-rec/codes/news_recsys/news_rec_server/logs/offline_rec_list_to_redis.log \ No newline at end of file diff --git a/codes/news_recsys/news_rec_web/Vue-newsinfo/README.md b/codes/news_recsys/news_rec_web/Vue-newsinfo/README.md index e218360a..7a18cf48 100644 --- a/codes/news_recsys/news_rec_web/Vue-newsinfo/README.md +++ b/codes/news_recsys/news_rec_web/Vue-newsinfo/README.md @@ -1,6 +1,4 @@ -## 基于vue2.0的商城资讯 -*** -- 这个项目是跟着网上的视频一步一步做的,对于初学vue的同学来说,挺合适的,基本上vue入门的技术都涵盖了,可以全面的了解整个项目是怎么运作的,各个组件间的传值和交互,路由还有vuex的相关知识,因为是自己学习的项目里面写了大量的注释可供参考。 +## 新闻推荐系统 - 项目学习到的知识点 + 基于vue的框架mui Mint-ui的基本使用。 + 基于nodejs的npm包管理工具、打包工具webpack和与之相对应的插件,以及babel的配置。 @@ -11,58 +9,7 @@ + vuex的使用--购物车里商品信息的同步都是基于vuex来实现的。 ## 运行 -> 1. 本地安装node环境,下载项目,在项目根目录命令行输入命令`npm install`安装依赖包 -> 2. 运行`npm run dev`启动项目 -> 3. 访问地址`http://localhost:3000` - - - -## 项目截图 - -![image](https://s2.ax1x.com/2019/08/24/msoWNT.png) - -![image](https://s2.ax1x.com/2019/08/24/msTTJS.png) - -![image](https://s2.ax1x.com/2019/08/24/msT5If.png) - -![image](https://s2.ax1x.com/2019/08/24/msTqMj.png) - -![image](https://s2.ax1x.com/2019/08/24/msToi8.png) - -![image](https://s2.ax1x.com/2019/08/24/msT7Rg.png) - -![image](https://s2.ax1x.com/2019/08/24/msTLss.png) - -![image](https://s2.ax1x.com/2019/08/24/msTOLn.png) - -![image](https://s2.ax1x.com/2019/08/24/msTjZq.png) - -![image](https://s2.ax1x.com/2019/08/24/msTvd0.png) - -## PS: -感谢黑马老师提供的接口`http://www.liulongbin.top:3005`,确实讲的挺好,目前还一直提供使用,大家需要这个视频的话可以去bilibili搜索vue教程-黑马。 - -"d11c2736-0a1d-46e8-8c22-e12909723f81" - -/recsys/news_detail - -http://10.170.1.181:3000/recsys/news_detail?news_id=d11c2736-0a1d-46e8-8c22-e12909723f81 - - -http://10.170.1.181:8686/#/NewsLists - -## 注册时候的信息 -1. user_name -2. pass_wd -3. nick_name -4. age -5. gender -6. city - - -http://10.170.1.181:3000/recsys/register - - -https://github.com/JerryYuanJ/a-vue-app-template - -http://elemefe.github.io/mint-ui/#/button \ No newline at end of file +1. 本地安装node环境 建议使用项目中给出的node版本安装 ,在项目根目录命令行输入命令`npm install`安装依赖包 +2. 跳转到前端项目文件目录:cd $HOME/fun-rec/codes/news_recsys/news_rec_web/Vue-newsinfo +3. 启动前端服务:npm run dev +4. 访问地址`http://localhost:3000` \ No newline at end of file