Task01:熟悉新闻推荐系统的基本流程(项目结构)
0.代码版本
该专栏的博客当中涉及的所有代码,均为组队学习期间的版本,大概在2021年12月12日左右,某一个可能的参考版本链接如下:
https://github.com/datawhalechina/fun-rec/tree/9bcfafaae339c443cc7911b9070bf52adef9e994
1. 文件说明
PS D:\Project\fun-rec\codes\news_recsys> tree /f /a
卷 Data 的文件夹 PATH 列表
卷序列号为 7876-8A9C
D:.
+---news_rec_server
| |
| | README.md
| | 说明文件
| |
| | requirements.txt
| | 环境要求
| |
| | server.py
| | 与前端交互的部分,接受请求
| |
| +---conf
| |
| | dao_config.py
| | 设定数据库中数据库的名字和表的名字
| | 设定数据库的host和端口号,用户名及密码
| |
| | proj_path.py
| | 一些路径设置
| |
| | README.md
| | 说明文件
| |
| | stop_words.txt
| | 停用词,用来提取关键词的
| |
| +---controller
| |
| | log_controller.py
| | MVC当中控制日志的controller
| |
| | user_action_controller.py
| | MVC当中控制用户表的controller
| |
| +---dao
| | |
| | | mongo_server.py
| | | MVC当中控制MongoDB的model
| | |
| | | mysql_server.py
| | | MVC当中控制MySQL的model
| | |
| | | README.md
| | | 说明文件
| | |
| | | redis_server.py
| | | MVC当中控制Redis的model
| | |
| | \---entity
| | \--
| | logitem.py
| | 定义日志表的结构
| |
| | register_user.py
| | 定义用户注册表的结构
| |
| | user_collections.py
| | 定义用户收藏表的结构
| |
| | user_exposure.py
| | 定义用户曝光表的结构
| |
| | user_likes.py
| | 定义用户点赞表的结构
| |
| | user_read.py
| | 定义用户阅读表的结构
| |
| +---materials
| | |
| | | process_material.py
| | | 控制处理逻辑:
| | | 1.处理新闻画像
| | | 2.更新新闻动态画像
| | | 3.生成前端展示画像并备份
| | |
| | | process_user.py
| | | 控制处理逻辑:
| | | 1.存储用户曝光数据
| | | 2.更新用户画像
| | |
| | | README.md
| | | 项目说明
| | |
| | | update_redis.py
| | | 控制处理逻辑:
| | | 更新Redis数据
| | |
| | +---material_process
| | |
| | | log_process.py
| | | 处理日志,但是没有被调用
| | |
| | | news_protrait.py
| | | 将新闻加工成画像
| | |
| | | news_to_redis.py
| | | 将新闻复制到Redis
| | |
| | | README.md
| | | 说明文件
| | |
| | | utils.py
| | | 人工提取关键词的函数
| | |
| | +---news_scrapy
| | | | monitor_news.py
| | | | 爬虫监控脚本
| | | |
| | | | scrapy.cfg
| | | | 爬虫配置文件
| | | |
| | | \---sinanews
| | | |
| | | | items.py
| | | | 单条新闻的结构
| | | |
| | | | middlewares.py
| | | | 控制代理等
| | | |
| | | | pipelines.py
| | | | 持久化存储到数据库
| | | |
| | | | run.py
| | | | 定义爬虫运行的命令
| | | |
| | | | settings.py
| | | | 相关的配置
| | | |
| | | | __init__.py
| | | | 初始化文件
| | | |
| | | \---spiders
| | | \--
| | | sina.py
| | | 具体的爬虫文件
| | |
| | | __init__.py
| | | 初始化文件
| | |
| | \---user_process
| | \--
| | user_protrail.py
| | 用户画像处理文件
| |
| | user_to_mysql.py
| | 从Redis记录曝光表
| |
| +---recprocess
| | | offline.py
| | | 控制离线处理的逻辑
| | |
| | | online.py
| | | 控制在线处理的逻辑
| | | 结合server.py提供推荐服务
| | |
| | | README.md
| | | 说明文件
| | |
| | +---cold_start
| | |
| | | cold_start.py
| | | 给不同的人群准备不同的模板
| | | 其实也就是准备推荐页
| | |
| | \---recall
| | \--
| | hot_recall.py
| | 给所有的人准备热门页
| |
| \---scheduler
|
| crawl_news.sh
| 控制爬虫的执行
|
| offline_material_and_user_process.sh
| 控制离线物料的处理
| 包括新闻画像和用户画像
|
| README.md
| 说明问价
|
| run_offline.sh
| 控制离线推荐服务的运行
| 也就是生成热门页和推荐模板
|
\---news_rec_web
\---Vue-newsinfo
| .babelrc
| 好像是转码文件
|
| package-lock.json
| 锁定依赖包的版本
|
| package.json
| 当前的依赖配置
|
| README.md
| 说明文件
|
| vue.config.js
| vue项目的配置文件
|
| webpack.config.js
| 用于配置打包的文件
|
\---src
| App.vue
| 根组件
|
| index.html
| 主页面
|
| main.js
| 主脚本
|
| router.js
| 路由脚本
|
| store.js
| 管理用户状态的缓存
|
+---api
| newVue.js
| 好像没用
|
| Vue╕№╨┬░ц ╧ю─┐║═api╜╙┐┌╦╡├ў╬─╡╡ги╧ю─┐╓╨╦∙╙╨╡─╜╙┐┌╬─╡╡╥╘┤╦╬к╫╝гй-╫ю╨┬.docx
| 一个API的说明文档,也没用
|
+---assets
| | logo.png
| | Vue的logo
| |
| +---css
| | index.less
| | 好像没用
| |
| | sign.css
| | 登录页面的样式
| |
| | tab.css
| | 没用
| |
| | test.css
| | 顶部导航栏养式
| | 切换推荐和热门
| |
| \---js
| cookie.js
| 应该是管理缓存的
|
+---components
| bottomBar.vue
| 底部导航栏
| 切换新闻和个人页面
|
| common.vue
| 存放全局变量
|
| hotLists.vue
| 热门页面
|
| Myself.vue
| 个人中心
|
| NewsInfo.vue
| 新闻详情页面
|
| recLists.vue
| 推荐页面
|
| signIn.vue
| 登陆页面
|
| signUp.vue
| 注册页面
|
+---images
| datawhale.png
| dw头像
|
| dw.png
| dw二维码
|
\---lib
\---mui
\--饿了么的Mint UI库
\-但是没有在本项目使用
\
+---css
| icons-extra.css
| mui.css
| mui.min.css
|
+---fonts
| mui-icons-extra.ttf
| mui.ttf
|
\---js
mui.js
mui.min.js