从0开始搭建完整的电影推荐系统网站二(Python+Django)

这章我们来讲如何收集用户信息

一. 首先,我们思考下用户在网站上一般有哪些些行为:

  • 随意浏览
  • 卧槽,这个东西有点意思
  • 点开来看看,加上收藏
  • 买之前点开的东西
  • 消费这个东西(比如电影)
  • 评分
  • 用户再次购买或者直接厌恶的不鸟它!

这里其实每步都可以收集很多信息。

  • 购买前的点有:购买用户浏览某个信息的时间、扩展阅读、看评论、转发、收藏、关键词搜索、购买行为等等。
  • 购买后消费的点:比如打游戏,一直玩了多久,然后卸了决心好好学习,过几天又装上了,说明这游戏可以,有点东西。
  • 消费后评分:打分不用说了吧

二. 确定用户是谁

意思就是你要知道使用这是谁,连连看连对喽,方法要么是看后台log要么是cookie

三. 参考其他来源的数据

社交媒体是个大宝库,挖就对了,不展开说,东西太JB多了

四. 实现收集器(The collector)

前面一堆P话,现在终于进入正题,如何实现我们MoiveGEEKs网站的收集器。我们大方向是要把这个收集器和网站分离,这样可拓展性好。从逻辑层面说有两个部分组成Collector:

  1. 服务器端:利用Django web API,用户请求一过来,我啪啪两下收集起来
  2. 客户端:利用JS,返回一些用户数据

数据存储是用CSV格式,好处是处理起来简单,坏处是请求查询CSV文件慢,所以我们搞个数据库来解决。

五,创建一个Django APP collector(未完待续)

六.  建立一个用户模型类

需要的字段有:user_id,content_id,event(表示发生了什么事件),session_id。具体如下图:

从0开始搭建完整的电影推荐系统网站二(Python+Django)_第1张图片

七. 这回我们看看客户端收集器

在 /moviegeek/static/js目录下建立文件collector.js。里面写js文件发送ajax请求把用户信息统统搞到。

从0开始搭建完整的电影推荐系统网站二(Python+Django)_第2张图片

然后这些请求最后会传递到log method中 /moviegeek/collector/view.py

从0开始搭建完整的电影推荐系统网站二(Python+Django)_第3张图片

log对象最终会把数据放入数据库中。

代码没什么特别的,基本都是JS,每次点击ajax传回参数,后端接收存入数据库。

 

 

你可能感兴趣的:(推荐系统)