1. 项目概述:基于用户行为的新闻推荐系统
这个Python+Django的新闻推荐系统毕业设计,本质上是在解决信息过载时代的个性化阅读需求。系统通过记录用户的点击、停留时长、点赞等行为数据,运用协同过滤算法建立用户兴趣模型,实现千人千面的新闻推送。我在实际开发中发现,这种推荐系统最难的不是算法实现,而是如何平衡热点新闻与长尾内容的推荐权重。
系统采用典型的三层架构:前端用Bootstrap+ECharts实现响应式布局和数据可视化,后端Django处理业务逻辑,MySQL+Redis做数据存储和缓存。特别要说明的是,我们选择Django而非Flask,主要是看中其自带的Admin后台和ORM系统,这对需要快速开发的管理系统非常友好。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心技术实现方案
2.1 用户行为数据采集设计
在用户行为埋点方案上,我们采用无侵入式采集策略:
python复制# 在base.html中植入JS采集脚本
document.addEventListener('DOMContentLoaded', function() {
// 记录页面停留时间
let enterTime = new Date();
window.addEventListener('beforeunload', function() {
navigator.sendBeacon('/log/behavior/', {
event_type: 'page_stay',
duration: (new Date() - enterTime)/1000,
news_id: {{ news.id|default:0 }}
});
});
// 点赞等交互事件
$('.like-btn').click(function() {
axios.post('/log/behavior/', {
event_type: 'like',
news_id: $(this).data('id')
});
});
});
重要提示:实际部署时要
