spark电商平台用户消费行为与商品推荐模型可视化分析--附源码63964
摘要
目前电商平台用户数量不断增多,大量的交易数据里包含着诸多的消费行为规律。但是传统的数据分析系统大多只重视基本的销售统计,缺少对用户的潜在偏好以及商品关联特征的深入挖掘,从而造成平台个性化推荐和选品优化方面的不足。建立一个集数据采集、可视化分析和预测功能为一体的系统,对电商运营决策有现实意义。
本课题以Django和Vue为依托,创建出一个用户消费行为以及商品推荐模型的可视化分析平台。系统使用MySQL作为数据库,用爬虫技术获取电商平台的原始数据。系统从功能上分为普通用户和管理员两个角色。普通用户可以浏览热门商品和好物信息,对内容进行点赞、评论、回复等互动操作。管理员模块具备更加全面的数据管理功能,在数据信息管理当中可以对消费数据展开查询、重置、删除以及爬取更新,数据预测功能支持管理员依据现有的数据增添预测记录,开展预测并保存成果,还可查阅相应的图表,热门商品和好物信息管理模块分别针对相关数据展开查询、重置、删除以及查看。前后端分离的开发模式可以保证系统的高内聚低耦合性。
目前平台运行正常,各个功能模块的响应情况也正常。利用数据可视化和简单的预测分析,可以使得运营人员对消费趋势有更直观的认识,给商品推荐策略的调整提供数据支持,一定程度上促进平台内部信息的有效流转。
关键词:消费行为,商品推荐,可视化分析,Django,Vue
Abstract
The number of users on e-commerce platforms has been increasing steadily; thus, there exist many patterns of consumers' behaviour within these vast transactional data. Currently, the existing Data analysis system tends to focus more on selling price and sales numbers; It does not pay close attention to whether different consumers are making consumption decisions and what connections these Connections have with products. Personalisation recommendation and product selection optimisation do not have a good display, that is, this part needs to be improved. Design a system that has functions of data acquisition, visualisation and prediction can be used to support decision-making for operation management in e-commerce operations.
In terms of the Django and Vue frameworks, this project will Design a Visualisation analysis platform that includes visualisation functions for users' consumption behaviour and products' recommendation models. MySQL as the database, web crawling to obtain raw data from e-commerce Platforms. In terms of Function, mainly provides services to the System's primary users. Regular users can browse the most popular products and good finds to interact with them by liking, posting comments or messages, etc. The administrator's Page provides a greater quantity of details for data management. In the data information management section, queries, resets, deletes, and crawls consumption data. The data-prediction function supports adding prediction records through administrator approval, executing the predictions and saving results, then displaying relevant charts. The popular products and good finds management modules can query, reset, delete, and view the details of related data. A front-end-backend separation development mode that maintains high cohesion and low coupling.
At present, the platform is operating normally, and all functions have been working well so far. Using data visualisation and basic prediction to help operators perceive changes in consumption more easily and provide data support for adjusting product recommendation Strategies, thus enhancing the efficiency of information flow on the platform.
Key words: Consumption behavior, Product recommendation, Visual analysis, Django, Vue
目录
1绪论
电商平台在传统模式下依靠人工经验选品和滞后报表分析,消费数据分散在交易、评价、浏览等各个割裂的系统里,运营人员不能穿透数据表层去了解用户的真正喜好。早期基于简单的销售统计的后台系统虽然代替了手工台账,但是单向滞后的数据处理流程不能及时地响应消费动态的变化,平台与用户之间存在信息不对称的现象。由于碎片化数据存储造成商品推荐缺少精准的依据,优质的商品很难被有效地接触到目标人群,现有的技术架构已经不能满足用户对于个性化消费体验以及平台精细化运营的要求了[1]。目前消费行为分析正处在由交易记录汇总向深层价值挖掘的范式转变当中,创建起一个包含数据整合、特征提取以及趋势预估的系统,已经成为行业发展的重要趋向[2]。
本课题研究系统可以打通数据采集、处理、分析到应用的全流程,直接提高消费信息从产生到指导决策的转化速度。平台用爬虫技术获取真实的商品数据,并且实现可视化展示,使运营者可以减少由于人工统计的误差以及数据滞后而造成的决策偏差。普通用户点赞评论等交互行为成了消费偏好的显性表现,管理员依靠这些数据开展预测和图表分析,促使选品策略同用户需求达成动态契合。该过程对于电商流程的规范化以及提高用户的参与质量有着实际的意义,也给垂直领域的消费数据驱动型运营模式提供了一种可以操作的范例。
国内电商消费分析平台的发展是从交易系统的一个附属模块发展为独立的分析系统。早期的淘宝、京东等电商平台的后台主要是销售统计,数据报表功能单一,用户行为分析还没有形成独立的体系。新浪微博同电商打通之后,社交数据才进入消费分析视野,一些平台利用用户的关注关系来推送商品[3]。虎扑识货这样的垂直社区出现之后,用户生成的内容和消费数据相互联系起来,点赞、评论这些互动指标也被当作商品热度的评价标准之一[4]。懂球帝商城试图把球迷的行为数据同衍生品的推荐联系起来,探究场景化消费分析的方法[5]。伴随着移动互联网的普及,腾讯大数据、阿里数加等平台也推出了面向商家的消费数据可视化工具,但是这些工具大多只是对宏观的销售指标进行展示,并没有对用户的消费轨迹以及商品特征之间的联系进行深入的挖掘[6]。近几年来,以抖音电商为代表的内容电商兴起,消费行为数据和短视频观看数据实时交融,推荐算法开始介入到分析流程中,但是数据割裂的问题仍然在跨平台场景下存在[7]。
国外消费行为分析系统起步早,数据驱动决策在电商中应用更广。Bleacher Report把体育资讯消费和商品推荐结合起来,利用用户阅读时长、评论情感等数据来创建消费偏好画像[8]。SofaScore不但能给观众提供实时的赛事信息,而且可以对用户的购买行为进行追踪,从而形成一个完整的运动装备推荐系统[9]。Onefootball同各大运动品牌合作,按照用户关注的球队球员推送定制化商品,实现场景驱动的消费转化[10]。欧洲豪门俱乐部官方App把票务、会员、衍生品消费数据整合在一起,构建起完整的用户消费行为闭环[11]。Fantasy Premier League这样的游戏化平台积累了大量的用户选秀、交易数据,消费行为分析模型被应用到体育电商的个性化推荐上[12]。国外研究更重视把用户在各个触点上的行为数据实时整合起来,用预测模型来指导商品推荐策略的动态调整。
本课题研究并开发出电商平台用户消费行为和商品推荐模型可视化分析系统,系统采用B/S架构和前后端分离的方式,后端使用Django框架,前端使用Vue,数据存储使用MySQL。研究分为普通用户和管理员两种角色的功能需求,普通用户可以对热门商品、好物信息进行搜索浏览、点赞评论、回复删除等操作,管理员可以对数据信息进行查询重置删除爬取、数据预测和图表查看、热门商品和好物信息的管理维护。按照软件工程规范完成需求分析、系统架构设计、功能模块划分、数据库设计、编码实现和测试验证,主要解决消费数据分散难整合、用户偏好难量化、商品推荐缺乏数据支撑的实际问题。
2相关技术介绍
Django是基于Python语言的开源Web应用框架,采用MTV模式来组织代码结构。框架内置的ORM组件可以实现对象和关系数据库之间的映射,开发人员只需要定义模型类就可以完成数据表的创建和持久化操作,不需要手动编写SQL语句。URL分发器收到HTTP请求之后按照路由规则调用相应的视图函数,视图层执行业务逻辑并调用模型层获取数据,模板引擎把数据渲染成前端页面。框架自带的认证系统对用户登录会话和权限校验进行处理,表单组件简化了数据验证和错误提示的过程。Django使用中间件来处理请求响应生命周期中通用的操作,跨站请求伪造防护、会话管理等功能都是通过中间件来实现的。开发环境内置的调试工具可以给出详细的错误追踪信息,生产环境可以切换到高性能的WSGI服务器上运行[13]。本系统使用Django构建后端服务核心,管理员在数据信息预测模块中执行的预测算法调用和结果保存功能由视图层协调完成,普通用户点赞评论请求通过路由分发到对应的处理函数,框架的ORM能力保证了消费行为数据和商品信息的持久化存储以及关联查询的高效稳定。
Vue是基于渐进式JavaScript框架,自底向上增量开发的一种用户界面构建工具。核心库只处理视图层,用响应式数据绑定来实现模型状态和页面DOM的自动同步。组件系统把界面拆分成独立的可复用单元,每个组件封装自身的模板、逻辑和样式,组件之间通过props传递数据,通过events向上通信。虚拟DOM技术可以减少直接操作真实DOM造成的性能损耗,状态变化的时候框架会计算出最小的更新补丁,然后批量执行[14]。Vue Router对单页应用内路由跳转进行管理,不同的URL对应不同的组件视图,不需要刷新页面。Vuex是为复杂的项目设计的状态管理方案,把所有的组件共享状态存入其中,并且规定状态变更只能用mutation提交来实现。模板语法给出指令系统简化条件渲染、列表渲染和事件绑定的操作,计算属性依靠依赖缓存执行复杂的表达式求值。本系统前端界面使用Vue构建,热门商品和好物信息列表页采用组件化的方式开发,用户执行搜索操作后路由参数发生变化,然后重新请求数据,点赞评论之后界面状态的变化是由响应式系统自动完成的。
MySQL是关系型数据库管理系统,用表格的形式组织数据,支持SQL结构化查询语言。存储引擎架构把查询处理和数据存储分开,InnoDB为默认引擎,提供事务支持和外键约束,保证消费行为数据写入时的ACID特性。索引机制用B+树结构加快数据的检索速度,对热门商品搜索、用户评论查询等高频操作可以明显减小响应延迟。连接查询能力可以实现多表关联分析,用户表、商品表和评论表通过外键关联之后可以得到完整的消费行为轨迹。视图将复杂的查询转换成虚拟表,简化了权限的管理以及重复的查询编写。备份恢复工具保证数据安全,主从复制机制可以实现读写分离提高并发性能。数据库设计遵照范式理论来削减数据冗余,在本系统当中,用户信息、商品数据、评论记录、预测结果各自存放在不同的数据表里,利用主键和外键来形成关联关系[15]。管理员执行数据爬取操作之后,新数据被ORM写入到对应的表格中,预测模块读取历史消费数据进行分析,并将结果写回,所有的查询重置删除操作最终都会转化为SQL语句交由数据库引擎来处理。
爬虫技术就是模拟HTTP客户端向目标服务器发送请求并解析响应内容的程序化数据采集方法。网络请求模块创建请求头和参数绕过基础反爬机制,响应内容用HTML解析库提取结构化数据或者用JSON解析获取API接口返回的格式化信息。页面解析阶段使用XPath路径表达式或者CSS选择器来定位包含目标数据的DOM节点,正则表达式用来匹配特定模式的文本内容。爬虫框架具有请求调度、去重过滤、并发控制这些共性功能,开发者只需定义解析规则就可以实现数据收集的目的。请求频率控制用延时设置和代理IP轮换来减小对目标服务器的访问压力,异常处理机制捕捉网络超时、页面结构变化并存入错误日志。本系统采用爬虫技术获取电商平台热门商品和好物信息的原始数据,管理员触发爬取操作后程序按照设定规则访问目标页面,解析商品名称、价格、销量、评价等内容,清洗转换后存储到MySQL数据库供后续分析使用[16]。采集的数据成为消费行为分析和商品推荐模型的输入,预测模块用真实数据训练或者调用算法来做出趋势判断。
3系统分析
系统采用Django框架和Vue框架进行前后端分离架构的设计,Django是一个成熟的Python Web框架,它提供了ORM、表单验证、会话管理等各方面功能的支持,而Vue是一种基于Vue.js的响应式数据绑定以及组件化的开发方式,Vue可以有效地简化前端交互逻辑。MySQL数据库支持事务处理和复杂的关联查询,可以满足用户消费数据和商品信息的存储需求。爬虫技术使用Python标准库进行HTTP请求和HTML解析,数据采集之后再清洗转换存入数据库。开发过程在本地环境完成,使用的基础软件包和开发工具,作者会用到Python编程、前端开发和数据库操作的基本技能,可以独立完成系统的各个模块编码调试。网络请求频率过高会触发目标网站的反爬机制,用请求延时和User-Agent轮换的方式可以降低被封的风险。数据并发写入场景下,MySQL连接池机制保证事务的一致性。因此系统的技术上是可行的。
普通用户进入系统后可以搜索热门商品和好物信息,浏览详情页时点赞、评论、回复、删除操作入口明确,交互反馈及时。管理员对数据信息、热门商品、好物信息三种管理对象的列表页分别有查询、重置、删除和爬取触发按钮,详情页通过提交、取消完成数据维护。数据预测模块要求管理员依次进行添加预测、执行预测、保存结果、查看图表的操作。系统界面布局符合用户对Web管理系统通用的认知,操作路径和用户平时浏览管理的习惯一致。引入系统之后,原有的手工统计报表流程被在线可视化分析所取代,数据更新依靠爬取功能来自动完成。上线之后运行依靠浏览器和网络环境,日常维护主要集中在数据备份和爬虫规则的更新上,管理员经过简单的培训就可以掌握操作。因此系统在操作上是可行的。
项目开发投入主要是作者的时间成本和智力劳动,开发工具使用的是IntelliJ IDEA社区版和VS Code等免费软件。系统运行使用个人计算机作为服务器来部署测试环境,MySQL和Python的运行环境都是开源的,没有额外的软件采购费用。爬虫模块采集公开数据不需要支付接口调用费用。系统上线以后日常维护由管理员自行完成,不需要请专业技术团队来协助。相比采购商业数据分析软件每年数万元的授权费用,本系统用很低的成本实现了主要的功能,投入产出比符合预期。系统投入使用之后,可以缩减运营者的人工统计时间成本,加快选品反应速度,进而产生经济收益。因此系统在经济上是可行的。
UML用例图是一种用于描述系统功能和用户交互的建模工具,通过角色与用例的关系展示系统在不同场景下的行为。用例图能够直观表现系统边界,明确外部参与者与系统之间的交互方式。参与者代表不同用户群体或外部系统,用例则体现系统提供的功能或服务。该图在需求分析阶段具有重要作用,能够帮助开发者识别核心功能,避免遗漏关键需求。通过图形化表示,用例图便于沟通与理解,为后续的系统设计与实现提供依据。本文将对系统按照角色模块进行需求分析。
普通用户在系统中可以搜索热门商品与好物信息,进入详情页后能够对内容进行点赞、发表评论,对自己或他人的评论进行回复,以及删除自己发布的评论内容。普通用户角色用例图如图3-1所示。

管理员在系统中对数据信息执行查询、重置、删除与爬取操作,进入数据信息详情可进行提交与取消。数据信息预测模块支持查询、重置、删除与添加预测,执行预测时可查看图表并保存结果。热门商品列表与好物信息列表均支持查询、重置、删除及详情查看,热门商品详情与好物信息详情页面可执行提交与取消操作。管理员角色用例图如图3-2所示。

4系统设计
系统采用模块化分层架构设计,把前端展示、业务处理和数据存储分成独立层次。前端使用Vue框架搭建用户界面,用Axios进行异步请求和后端的交互。后端Django框架收到请求之后,通过URL分发器将其分发到相应的视图函数上,视图层再调用业务逻辑组件来处理数据。MySQL数据库对消费数据、商品信息、用户交互记录进行持久化存储,ORM机制把对象和关系数据进行映射转换。爬虫模块定时从外部电商平台获取公开数据,清洗后存入数据库供分析使用。系统以普通用户商品浏览、点赞评论、管理员预测管理、数据维护等功能为中心,各个层次之间通过标准化接口互相协作,保证数据的顺畅流通以及响应速度[17]。整个系统架构如图4-1所示。

系统划分为普通用户与管理员两个主要角色。普通用户模块提供热门商品与好物信息的搜索浏览功能,支持对内容进行点赞、发表评论、回复他人评论以及删除自身评论。管理员模块涵盖数据信息管理、数据信息预测、热门商品管理、好物信息管理四个核心部分,实现对消费数据的查询重置删除爬取、预测操作与图表查看、商品信息的增删改查及详情维护。系统功能结构图如图4-2所示。

系统总体业务流程涵盖普通用户与管理员两类角色的完整操作路径。用户进入平台后可搜索浏览热门商品与好物信息,对感兴趣内容执行点赞、评论及回复操作。管理员登录后访问数据信息模块执行查询重置删除与爬取,进入预测模块添加预测记录并查看图表保存结果,同时管理热门商品与好物信息的列表及详情。各业务环节通过权限控制衔接,确保数据操作合规有序。总体业务流程如图4-3所示。

用户在商品详情页或好物信息详情页触发评论操作时,系统首先校验用户登录状态。未登录用户被重定向至登录页面,已登录用户可编辑评论内容并提交。后端接收评论数据后验证内容合法性,通过后将评论记录写入数据库并更新对应商品的评论计数。评论发布成功后前端页面实时刷新显示新增内容,其他用户可对该评论进行回复操作。用户评论功能流程如图4-4所示。

4.4.2数据库表设计
数据库表设计是根据业务需求,确定数据库表的结构、字段类型及其关系。通过规范化设计,保证数据的完整性、一致性与效率,同时避免冗余数据,并为后续的数据查询、存储和维护提供清晰的框架[19]。以下是系统的数据库表设计展示。
普通用户表主要存储平台注册用户的基本信息与消费偏好。主要包括普通用户id、用户姓名、用户电话、用户性别、商品偏好等字段。如表4-1所示。
表4-1 普通用户表
|
序号 |
字段名 |
类型 |
长度 |
是否主键 |
备注 |
|
1 |
ordinary_user_id |
int |
11 |
是 |
普通用户id |
|
2 |
user_name |
varchar |
64 |
否 |
用户姓名 |
|
3 |
user_phone |
varchar |
64 |
否 |
用户电话 |
|
4 |
user_gender |
varchar |
64 |
否 |
用户性别 |
|
5 |
commodity_preference |
varchar |
64 |
否 |
商品偏好 |
|
6 |
user_id |
int |
11 |
否 |
用户id |
数据信息表用于存储爬虫采集的电商平台原始商品数据。主要包括数据信息id、商品标题、详情链接、商品图片、店铺名称、商品价格、产品销量等字段。如表4-2所示。
表4-2数据信息表
|
序号 |
字段名 |
类型 |
长度 |
是否主键 |
备注 |
|
1 |
data_information_id |
int |
11 |
是 |
数据信息id |
|
2 |
item_title |
text |
65535 |
否 |
商品标题 |
|
3 |
specificss_link |
text |
65535 |
否 |
详情链接 |
|
4 |
commodity_picture |
varchar |
255 |
否 |
商品图片 |
|
5 |
shop_name |
text |
65535 |
否 |
店铺名称 |
|
6 |
commodity_price |
text |
65535 |
否 |
商品价格 |
|
7 |
product_sales |
text |
65535 |
否 |
产品销量 |
数据信息预测表记录管理员执行预测操作时生成的预测结果与图表数据。主要包括数据信息id、商品标题、店铺名称、预测结果、预测图表等字段。如表4-3所示。
表4-3 数据信息预测表
|
序号 |
字段名 |
类型 |
长度 |
是否主键 |
备注 |
|
1 |
data_information_forecast_id |
int |
11 |
是 |
数据信息id |
|
2 |
item_title |
varchar |
64 |
否 |
商品标题 |
|
3 |
shop_name |
varchar |
64 |
否 |
店铺名称 |
|
4 |
commodity_price |
varchar |
64 |
否 |
预测结果 |
|
5 |
output |
text |
65535 |
否 |
预测图表 |
热门商品表存储被标记为热门的商品详细信息。主要包括热门商品id、商品名称、商品分类、商品价格、商品销量、商品介绍、商品封面、商品链接等字段。如表4-4所示。
表4-4 热门商品表
|
序号 |
字段名 |
类型 |
长度 |
是否主键 |
备注 |
|
1 |
popular_commodities_id |
int |
11 |
是 |
热门商品id |
|
2 |
name_of_commodity |
varchar |
64 |
否 |
商品名称 |
|
3 |
commodity_class_nameification |
varchar |
64 |
否 |
商品分类 |
|
4 |
commodity_price |
double |
- |
否 |
商品价格 |
|
5 |
merchandise_sales |
varchar |
64 |
否 |
商品销量 |
|
6 |
commodity_introduction |
longtext |
4294967295 |
否 |
商品介绍 |
|
7 |
commodity_cover |
varchar |
255 |
否 |
商品封面 |
|
8 |
product_link |
text |
65535 |
否 |
商品链接 |
好物信息表存储被推荐为优质商品的详细信息。主要包括好物信息id、好物名称、商品分类、好物销量、好物价格、好物链接、封面图片、详情介绍等字段。如表4-5所示。
表4-5好物信息表
|
序号 |
字段名 |
类型 |
长度 |
是否主键 |
备注 |
|
1 |
good_information_id |
int |
11 |
是 |
好物信息id |
|
2 |
name_of_good_thing |
varchar |
64 |
否 |
好物名称 |
|
3 |
commodity_class_nameification |
varchar |
64 |
否 |
商品分类 |
|
4 |
good_sales |
varchar |
64 |
否 |
好物销量 |
|
5 |
good_price |
double |
- |
否 |
好物价格 |
|
6 |
good_link |
text |
65535 |
否 |
好物链接 |
|
7 |
cover_image |
varchar |
255 |
否 |
封面图片 |
|
8 |
specificss_introduction |
longtext |
4294967295 |
否 |
详情介绍 |
评论表记录用户对商品或好物信息发表的评论内容。主要包括评论id、评论人id、回复评论id、内容、昵称、头像地址、来源表、来源字段、来源id等字段。如表4-6所示。
表4-6 评论表
|
序号 |
字段名 |
类型 |
长度 |
是否主键 |
备注 |
|
1 |
comment_id |
int |
11 |
是 |
评论id |
|
2 |
user_id |
int |
11 |
否 |
评论人id |
|
3 |
reply_to_id |
int |
11 |
否 |
回复评论id |
|
4 |
content |
longtext |
4294967295 |
否 |
内容 |
|
5 |
nickname |
varchar |
255 |
否 |
昵称 |
|
6 |
avatar |
varchar |
255 |
否 |
头像地址 |
|
7 |
source_table |
varchar |
255 |
否 |
来源表 |
|
8 |
source_field |
varchar |
255 |
否 |
来源字段 |
|
9 |
source_id |
int |
11 |
否 |
来源id |
热门商品推荐模块根据用户的点击行为设计协同过滤算法,从用户点击过的商品中挖掘出用户的兴趣爱好。当用户访问热门商品列表的时候,系统会先从点击表中获取当前用户对热门商品的点击记录,按照商品来源id分组统计点击次数。若当前用户没有点击数据,就将回退到全体用户的点击统计数据,选择点击量最高的商品种类为推荐依据。确定目标商品种类之后,系统从热门商品表中筛选出同种类的商品,并按照点击量进行冒泡排序降序排列。若同种类商品数量少于12条,则计算当前种类与其他种类的余弦相似度,用编辑距离算法来评价文本相似性,选取最相似的其他种类的商品加入到推荐列表中。推荐结果返回之前要对列表进行去重和排序,保证展示给用户的商品具有较高的热度和类别关联性。该模块嵌入热门商品列表查询接口,用户请求时会自动执行推荐逻辑,达到个性化的商品展示效果。代码设计如下:
|
# 查询用户点击统计并确定目标种类 hitsSource = "SELECT COUNT( hits_id ) AS hits_count, source_id FROM hits WHERE source_table = 'popular_commodities' AND user_id = " + user_id + " GROUP BY source_id" hitsSourceList = service.run(hitsSource) if len(hitsSourceList) <= 0: hitsSource = "SELECT COUNT( hits_id ) AS hits_count, source_id FROM hits WHERE source_table = 'popular_commodities' GROUP BY source_id" hitsSourceList = service.run(hitsSource) # 计算余弦相似度补充推荐 typeCosSql = "SELECT " + type_name + " FROM " + table_name + " WHERE " + type_name + " <> '" + typeName + "' GROUP BY " + type_name typeCosList = service.run(typeCosSql) for o in typeCosList: o["cosSim"] = self.similar(typeName, o[type_name], 2) |
数据信息预测模块给管理员提供基于历史消费数据的趋势分析功能。模块实现包含预测记录管理、预测算法调用和图表生成这三个主要部分。管理员进入预测页面可以查看现有的预测数据列表,然后通过添加预测按钮来创建新的预测任务。填写预测参数之后,后端收到请求之后调用预测算法模块,以数据信息表中的商品销量、价格等字段作为输入特征,得到预测结果。预测结束后结果自动保存到数据信息预测表中,并且生成可视化的图表数据返回给前端。图表展示使用柱状图或者折线图的形式来表现历史数据和预测趋势的对比,管理员可以随时查看历史预测记录对应的图表。模块中图表数据用接口返回结构化数据,前端使用ECharts组件进行渲染。预测功能和数据信息模块构成数据闭环,采集到的原始数据经过分析后得到决策参考信息。代码设计如下:
|
# 预测数据查询与结果保存 sql = "SELECT commodity_price, product_sales FROM data_information WHERE create_time BETWEEN '" + start_date + "' AND '" + end_date + "'" data_list = service.run(sql) prediction_result = prediction_algorithm(data_list) # 调用预测算法 insert_sql = "INSERT INTO data_information_forecast (item_title, shop_name, commodity_price, output) VALUES ('" + title + "', '" + shop + "', '" + result + "', '" + chart_data + "')" service.run(insert_sql) |
用户评论、点赞功能使用相同的交互模型设计,可以对热门商品、好物信息两种内容进行情感表达。评论功能可以供用户发表文字内容,可以对别人的评论进行回复,也可以删除自己发布的评论。每条评论记录包含评论人id、回复目标id、内容、昵称、头像和来源标识字段,用source_table和source_id字段实现多态关联。点赞功能记录用户对某个内容点赞的状态,支持点赞和取消点赞的操作,同一个用户对于同一个内容只能留有一条有效的记录。前端界面用点赞图标状态来表示当前是否已经点赞,点击之后会发起异步请求更新数据库状态。评论列表和点赞计数实时刷新在商品详情页,计数结果同步到对应商品的统计字段上。模块底层用服务层统一封装评论、点赞的数据操作,控制器层提供标准化接口供前端调用,实现交互数据和业务数据解耦。代码设计如下:
|
# 评论添加接口实现 def Add(self, ctx): body = ctx.body body["user_id"] = ctx.user_id body["nickname"] = ctx.user_nickname body["avatar"] = ctx.user_avatar result = self.service.Add(body, self.config) return {"result": result} # 点赞状态切换 def praise_toggle(self, ctx): query = {"source_table": ctx.query.source_table, "source_id": ctx.query.source_id, "user_id": ctx.user_id} obj = self.service.Get_obj(query) if obj: self.service.Del(query) return {"result": {"status": 0}} else: ctx.body["user_id"] = ctx.user_id self.service.Add(ctx.body, self.config) return {"result": {"status": 1}} |
5系统实现
普通用户进入热门商品模块后可通过搜索框筛选感兴趣的商品条目。系统根据用户输入的关键词匹配商品名称并返回列表结果。用户点击任意商品卡片进入详情页,可在详情页内对当前商品执行点赞操作。评论功能允许用户发表文字内容与其他用户进行互动。用户对自己发布的评论可以执行回复操作,也能够删除不再需要的评论内容。热门商品界面如图5-1所示。

图5-1 热门商品界面
好物信息模块为用户提供优质商品推荐列表,页面顶部设有搜索入口支持按关键词筛选。用户浏览列表时点击商品卡片跳转至对应的详情页面。详情页集成点赞按钮,用户点击后按钮状态变化反映操作结果。评论区域展示其他用户的评价内容,当前用户可发表新评论或对已有评论进行回复。用户对自己产生的评论保留删除权限。好物信息界面如图5-2所示。

图5-2 好物信息界面
管理员进入数据信息列表页后系统加载所有采集到的商品原始数据。页面上方提供查询条件输入框,管理员输入关键词后点击查询按钮筛选结果。重置功能可将所有查询条件清空恢复至初始状态。对于不再需要的数据记录,管理员勾选后点击删除按钮移除。爬取按钮触发后端爬虫程序从目标电商平台获取最新商品信息,新数据自动追加至列表尾部。数据信息列表界面如图5-3所示。

图5-3 数据信息列表界面
管理员在数据信息列表页点击某条记录的详情入口进入数据信息详情页面。页面展示该条数据的完整字段信息,包括商品标题、详情链接、商品图片、店铺名称、商品价格与产品销量等。管理员可对可编辑字段进行修改,修改完成后点击提交按钮将更新后的数据保存至数据库。若放弃本次修改则点击取消按钮返回列表页。数据信息详情界面如图5-4所示。

图5-4 数据信息详情界面
数据信息预测模块为管理员提供消费趋势分析能力。列表页支持按条件查询历史预测记录,重置功能可清空查询条件。删除操作允许移除指定的预测记录。添加预测按钮引导管理员进入预测参数填写页面,提交后后端调用预测算法进行分析。预测过程中可取消任务,完成后的结果通过保存结果按钮存入数据库。图表查看功能以可视化形式展示预测数据与历史趋势对比。数据信息预测界面如图5-5所示。

图5-5 数据信息预测界面
管理员在热门商品列表页可管理已被标记为热门的商品信息。查询功能支持按商品名称、商品分类等条件筛选列表数据。重置按钮将查询条件恢复为默认值。对于不需要的热门商品,管理员勾选后点击删除按钮移除记录。每条记录右侧提供详情入口,点击后进入该商品的详细信息页面。热门商品列表界面如图5-6所示。

图5-6 热门商品列表界面
热门商品详情页展示当前商品的完整信息,包括商品名称、商品分类、商品价格、商品销量、商品介绍、商品封面与商品链接等字段。管理员可对部分字段内容进行编辑修改。编辑完成后点击提交按钮将修改内容写回数据库。若不需要保存本次修改则点击取消按钮退出详情页,页面不保留任何更改。热门商品详情界面如图5-7所示。

图5-7 热门商品详情界面
好物信息列表模块为管理员提供优质商品数据的管理入口。页面上方设置查询条件输入区,管理员输入好物名称或商品分类后可快速定位目标记录。重置功能清空所有查询条件恢复完整列表。删除操作支持批量移除不再推荐的好物信息。每条数据右侧的详情按钮引导管理员进入该好物的详细维护页面。好物信息列表界面如图5-8所示。

图5-8 好物信息列表界面
6系统测试
系统测试的主要目的就是保证软件在投入实际使用之前,能有预期的功能表现和运行特性。对系统进行全方位的验证,可以确定它是否达到了需求分析阶段所提出的所有指标,在运行环境中保持稳定、一致。测试工作可以发现隐藏的逻辑错误、交互缺陷、性能瓶颈等,为后面优化提供依据。不同的测试阶段能有效地检验出系统业务逻辑是否正确、接口通信是否可靠、数据处理是否准确。测试过程还可以对系统在高并发、大量数据以及异常情况下响应速度进行评价,从而检验系统的承载能力以及健壮性。经过系统的测试可以降低运行风险,提高整体质量,增加用户在使用过程中的信任度,减少后期的维护工作量,延长系统的使用寿命。
测试方法属于保证系统功能完整性和可靠性的关键手段,按照不同的测试目的以及应用场合,可以采取诸多测试方法。常见的测试方法有单元测试、集成测试、系统测试、验收测试、安全性测试等[20]。
单元测试是对软件最小功能单元进行测试,保证每个单元可以按照设计正确地执行。它一般由开发人员完成,有利于早期发现并解决问题,从而降低后期维护的成本。集成测试主要是检验各个模块或者组件之间交互是否正确,保证系统组合运行时可以达到预期的功能。
系统测试是在完整系统环境下进行的,主要对系统的整体功能、性能以及兼容性进行检验,看系统是否满足设计要求和用户需求。验收测试一般由用户或者测试团队来完成,用来检验系统是否符合业务需求以及合同约定,是系统正式上线前的环节。
安全性测试主要是对系统的抗攻击能力以及数据保护机制进行检测,找出系统中存在的各种安全漏洞,包括身份认证、访问控制、数据加密等,保证系统在实际运行过程中具有较好的安全性及稳定性。
采用以上测试方法,从不同的角度保证软件的正确性、安全性,为最终交付的系统打下质量基础。
对普通用户热门商品模块进行功能测试,验证用户能否通过搜索筛选商品,以及在详情页执行点赞、评论、回复和删除操作的正确性。热门商品测试如表6-1所示。
表6-1 热门商品测试用例表
|
测试项 |
测试目的 |
测试步骤 |
预期结果 |
实际结果 |
|
商品搜索 |
验证搜索功能是否按关键词返回结果 |
在搜索框输入关键词后执行查询 |
列表仅显示名称包含关键词的商品 |
符合预期 |
|
点赞操作 |
验证点赞状态能否正常切换 |
进入商品详情页点击点赞按钮 |
按钮状态变化,点赞计数更新 |
符合预期 |
|
评论发布 |
验证用户能否成功发表评论 |
在评论输入框填写内容后提交 |
新评论出现在评论列表顶部 |
符合预期 |
|
评论回复 |
验证回复功能是否正常 |
点击某条评论的回复按钮并提交内容 |
回复内容显示在原评论下方 |
符合预期 |
|
评论删除 |
验证用户能否删除自己发布的评论 |
对自己发表的评论执行删除操作 |
评论从列表中移除 |
符合预期 |
对普通用户好物信息模块进行功能测试,验证搜索及详情页交互功能的完整性与数据一致性。好物信息测试如表6-2所示。
表6-2 好物信息测试用例表
|
测试项 |
测试目的 |
测试步骤 |
预期结果 |
实际结果 |
|
信息搜索 |
验证搜索功能能否准确匹配好物信息 |
输入好物名称关键词后执行查询 |
列表展示匹配条件的记录 |
符合预期 |
|
点赞切换 |
验证点赞状态在点击后是否即时更新 |
进入详情页点击点赞图标 |
图标颜色改变,计数增减 |
符合预期 |
|
评论提交 |
验证评论内容能否正确写入数据库 |
填写评论内容后点击发布按钮 |
评论显示在页面且数据持久化 |
符合预期 |
|
回复评论 |
验证回复操作能否关联到目标评论 |
对指定评论进行回复并提交 |
回复内容嵌套在原评论下 |
符合预期 |
|
删除评论 |
验证删除操作是否仅移除自身评论 |
删除自己发布的一条评论 |
该评论从页面消失 |
符合预期 |
对管理员数据信息列表模块进行功能测试,验证数据查询、重置、删除及爬取功能的准确性与响应效率。数据信息列表测试如表6-3所示。
表6-3 数据信息列表测试用例表
|
测试项 |
测试目的 |
测试步骤 |
预期结果 |
实际结果 |
|
条件查询 |
验证多条件组合查询能否正确过滤数据 |
设置商品价格区间后点击查询 |
列表仅显示符合价格范围的记录 |
符合预期 |
|
重置功能 |
验证重置后查询条件是否清空 |
输入查询条件后点击重置按钮 |
输入框清空,列表恢复全部数据 |
符合预期 |
|
删除记录 |
验证选中记录的批量删除是否生效 |
勾选多条数据后点击删除 |
选中记录从列表中移除 |
符合预期 |
|
数据爬取 |
验证爬虫能否正常获取并新增数据 |
点击爬取按钮后等待返回 |
列表尾部新增若干条商品记录 |
符合预期 |
对管理员数据信息预测模块进行功能测试,验证预测任务的创建、执行、结果保存与图表查看各环节是否完整。数据信息预测测试如表6-4所示。
表6-4 数据信息预测测试用例表
|
测试项 |
测试目的 |
测试步骤 |
预期结果 |
实际结果 |
|
预测查询 |
验证历史预测记录能否按条件筛选 |
选择日期范围后点击查询 |
列表显示该时段内创建的预测 |
符合预期 |
|
添加预测 |
验证新预测任务能否成功创建 |
填写参数后提交添加请求 |
列表新增一条预测记录 |
符合预期 |
|
执行预测 |
验证预测算法能否正常调用并返回结果 |
对添加的预测任务执行预测操作 |
状态变为已完成,结果字段填充 |
符合预期 |
|
图表查看 |
验证预测结果能否以图表形式展示 |
点击查看图表按钮 |
弹出窗口显示对应趋势图 |
符合预期 |
|
删除预测 |
验证预测记录的移除是否正常 |
勾选预测记录后点击删除 |
记录从列表中消失 |
符合预期 |
对管理员热门商品列表模块进行功能测试,验证商品信息的查询、重置、删除及详情跳转功能是否正常运转。热门商品列表测试如表6-5所示。
表6-5 热门商品列表测试用例表
|
测试项 |
测试目的 |
测试步骤 |
预期结果 |
实际结果 |
|
按名查询 |
验证商品名称搜索能否精确匹配 |
输入完整或部分商品名后查询 |
列表展示名称相关的商品 |
符合预期 |
|
条件重置 |
验证重置后筛选条件是否还原 |
设置多个条件后点击重置 |
所有条件清空,列表完整 |
符合预期 |
|
删除商品 |
验证热门商品能否被移除 |
勾选目标商品后执行删除 |
勾选商品从列表中消失 |
符合预期 |
|
详情跳转 |
验证详情入口能否正确导航 |
点击某商品的详情按钮 |
页面跳转至该商品详情页 |
符合预期 |
对管理员热门商品详情模块进行功能测试,验证商品信息的编辑、提交与取消操作是否准确更新或丢弃数据。热门商品详情测试如表6-6所示。
表6-6 热门商品详情测试用例表
|
测试项 |
测试目的 |
测试步骤 |
预期结果 |
实际结果 |
|
信息编辑 |
验证商品字段能否正常修改 |
修改商品价格和介绍内容 |
输入框内容更新为修改值 |
符合预期 |
|
提交保存 |
验证修改后的数据能否写入数据库 |
编辑后点击提交按钮 |
返回列表页,详情显示最新值 |
符合预期 |
|
取消操作 |
验证取消是否放弃本次修改 |
编辑后点击取消按钮 |
返回列表页,详情数据未变 |
符合预期 |
对管理员好物信息列表模块进行功能测试,验证好物信息的筛选、重置、删除及详情入口功能是否完整可用。好物信息列表测试如表6-7所示。
表6-7 好物信息列表测试用例表
|
测试项 |
测试目的 |
测试步骤 |
预期结果 |
实际结果 |
|
分类筛选 |
验证按商品分类筛选能否正确执行 |
选择某一商品分类后查询 |
列表仅显示该分类好物 |
符合预期 |
|
重置条件 |
验证重置功能是否清空所有筛选 |
输入多个条件后点击重置 |
查询条件清空,列表恢复 |
符合预期 |
|
删除记录 |
验证好物信息的移除是否彻底 |
勾选记录后执行删除 |
勾选记录不再出现于列表 |
符合预期 |
|
详情访问 |
验证详情按钮能否导向正确页面 |
点击某好物的详情按钮 |
进入对应好物的详情页 |
符合预期 |
经过系统功能测试,所有的模块都按照预期的运行。普通用户的热门商品、好物信息搜索功能响应准确,详情页点赞、评论、回复、删除操作均可以正常执行,数据状态及时更新。管理员数据信息列表的查询、重置、删除以及爬取功能工作正常,爬虫模块可以成功地从外部获取数据并存入到数据库中。数据信息预测模块可以添加、执行预测任务并保存结果,图表查看功能能够正确地显示可视化结果。热门商品和好物信息管理模块的列表条件查询、重置筛选、删除记录等功能都符合要求,详情页的编辑提交、取消操作能控制数据更新。各个模块在测试过程中功能齐全、反应及时、数据处理符合设计要求,系统运行状况良好。
7总结
电商平台所拥有的海量交易数据里蕴含着诸多消费行为的规律,传统的分析系统大多只重视基础的销售统计工作,无法满足平台对于个性化推荐以及选品优化的深层次要求。本课题设计并实现的用户消费行为和商品推荐模型可视化分析系统,用爬虫技术获取真实商品数据,创建普通用户和管理员两个角色的功能模块。解决了消费数据分散难整合、用户偏好难量化、商品推荐无数据支撑的问题,实现了一条数据采集、处理、分析、可视化展示的全流程的设计目标。
研究工作按照软件工程规范,依次完成需求分析、系统架构设计、功能模块划分、数据库设计、编码实现和测试验证。系统使用Django和Vue框架来创建前后端分离的架构,MySQL数据库做数据持久化存储的工作。普通用户在热门商品、好物信息模块上可以完成搜索浏览、点赞评论、回复删除等操作。管理员使用数据信息模块完成查询、重置、删除、爬取的功能,在数据信息预测模块中执行预测任务并查看图表,管理热门商品和好物信息的列表以及详情。各个模块经过了功能测试运行稳定,操作反馈及时。
系统目前还存在着一些不足。预测模块依靠简单的统计历史数据来产生趋势的参照,没有使用复杂的机器学习算法去探究用户的行动特点。爬虫模块使用基本的请求策略来对抗反爬,采集效率和稳定性有待提高。商品推荐逻辑只用点击行为和分类相似度来决定,没有考虑用户的画像以及实时的兴趣漂移。系统部署在本地开发环境,并发访问量小。
之后可以使用协同过滤以及深度学习算法来改进推荐结果。爬虫模块可以实现分布式采集架构以及动态代理池的扩展,从而提高数据获取的能力。系统可以连接用户注册和行为追踪,形成完整的用户画像来支撑个性化的推荐。用地图API对商品区域热度分布做可视化展示,增加可视化的维度。系统应用前景广阔,可以给中小电商卖家提供轻量级的消费数据分析工具,帮助卖家进行选品决策和运营策略调整。
参考文献
- 陈静. 人工智能在电商个性化推荐中的应用效果及改进[J].上海商业,2025,(12):75-77.
- 李黎,孙婉祯. 电商平台中基于多模态信息的用户动态偏好识别[J].情报理论与实践,2025,48(S1):121-124.
- 陈泳雄,应琦. 多业态电商平台中的智能推荐系统设计与数据挖掘的应用研究[J].软件,2025,46(10):108-110.
- 彭昊康. 大数据用户行为分析在电商推荐系统中的应用[J].集成电路应用,2025,42(10):250-251.
- 于洁,孔瑞平,张凤丽. 基于Spark技术生态的电商用户行为分析系统构建——以电商产教协同项目为例[J].数字技术与应用,2025,43(09):159-161.
- 邓韫. 电商平台数据分析对企业销售策略优化的作用[J].商业观察,2025,11(25):77-80.
- 徐鹏. 大数据在电商平台个性化推荐系统中的应用与优化[J].全国流通经济,2025,(12):16-19.
- Baoguo L ,Ni W ,Xiangdong G . Emotion Analysis of User Comments on E-Commerce Platforms Based on Deep Learning[J].International Journal on Artificial Intelligence Tools,2025,34(07-08):
- Wang X . The Impact of E-Commerce Platform Entry on the Narrative of Micro Short Drama:-- Taking Taobao's "Micro Short Drama + Consumption" Model as an Example[J].Academic Journal of Management and Social Sciences,2025,13(1):68-70.
- Jia Y . Application of Big Data Technology in User Behavior Analysis of E-commerce Platforms[J].Journal of Electronic Research and Application,2025,9(3):104-110.
- Yang L . Deep Learning-based User Behavior Data Mining in Precise Recommendation of E-commerce Platforms[J].Applied Mathematics and Nonlinear Sciences,2025,10(1):
- Wei S ,Wang Z ,An X , et al. A recommendation model for e-commerce platforms oriented to explicit information compensation and hidden information mining[J].Knowledge-Based Systems,2024,286111359-.
- 郭立文,宋学永,聂友谊. Django电商网站项目实战[M].中国铁道出版社:202301:257.
- 明日科技. Vue.js开发快速入门到精通[M].化学工业出版社:202407:377.
- 郑晓霞,张艳艳,刘超. MySQL数据库原理及应用[M].人民邮电出版社:202408:302.
- 刘延林,徐清徽. Python网络爬虫开发从入门到精通[M].北京大学出版社:202503:619.
- 古力努尔·艾尔肯,索帅红,哈妮克孜·伊拉洪. 基于Python的语音情感分析系统设计与实现[J].计算机与网络,2026,52(01):1-7.
- 林春平.基于计算机网络管理系统的数据库设计研究[J].信息系统工程,2020(06):52-53.
- 胡劲.数据库信息管理系统的逻辑架构与功能设计探析[J].电脑知识与技术,2023,19(19):96-98.
- 妥泽花.基于黑盒测试与白盒测试的比较探究[J].电子世界,2021,(11):55-56.
致谢
在本次项目的完成过程中,我得到了许多人的帮助和支持,在此,我衷心感谢所有给予我帮助的人。
我要感谢我的指导老师。感谢您在项目的每个阶段给予我悉心的指导和宝贵的建议。每当我在项目中遇到困难和挑战时,您总是耐心地解答我的问题,并且通过详细的讲解帮助我深入理解相关的理论和实践知识。您的专业态度和严谨的教学方法,不仅让我掌握了项目中的技能,还启发了我对专业领域的更深思考。没有您的指导,这个项目无法如此顺利地完成。
我要感谢我的同学们。在项目实施的过程中,大家与我进行了深入的讨论,分享了各自的见解和经验,使我能够从不同的角度看待问题,帮助我更好地完成任务。虽然这个项目是独立完成的,但与同学们的交流让我收获了许多新的思路和灵感。我还要感谢我的家人。在我投入大量时间和精力进行项目研究时,家人始终给予我理解和支持,鼓励我在面对困难时坚持下去。你们的关爱是我不断努力和进步的动力源泉。感谢学校提供的优质学习平台和资源,使我能够顺利地完成项目并实现预期目标。通过本次课业项目,我不仅掌握了相关的专业知识和技能,也培养了独立思考和解决问题的能力。这些收获将对我未来的学习和发展产生深远的影响。
再次感谢所有在项目中给予我帮助和支持的人,是你们的帮助让我顺利完成了这次项目。
点赞+收藏+关注 →私信领取本源代码、数据库
更多推荐




所有评论(0)