目 录
目 录 i
第 1 章 引言 1
1.1 研究背景及研究的目的和意义 1
1.1.1 项目研究背景 1
1.1.2 项目研究的目的和意义 2
1.2 项目国内外现状分析 2
1.2.1 国内研究现状 2
1.2.2 国外研究现状 3
1.2.3 现存购物助手网站的优缺点 4
1.3 主要研究工作 4
第 2 章 研究相关技术介绍 5
2.1 相关技术 5
2.1.1 Spring Boot 5
2.1.2 Selenium 5
2.1.3 VUE 5
2.1.4 Electron 6
2.1.5 Spring Data JPA 6
第 3 章 需求分析 7
3.1 业务需求分析 7
3.1.1 业务需求描述 7
3.1.2 业务流程 8
3.2 用户需求分析 9
3.2.1 用户管理部分 9
3.2.2 管理员管理部分 10
3.3 功能需求分析 11
3.3.1 网络爬虫模块 11
3.3.2 商品数据维护模块 13
3.3.3 用户管理模块 14
3.3.4 登录注册模块 15
3.3.5 商品搜索比价模块 15
3.3.6 热门推荐模块 16
3.4 非功能性需求分析 18
3.4.1 运行环境需求 18
3.4.2 系统性能需求 18
第 4 章 软件概要设计 19
4.1 概要设计 19
4.1.1 系统体系结构设计 19
4.1.2 系统网络部署设计 20
4.1.3 系统组织架构 20
4.2 数据库设计 20
4.2.1 E-R 图设计 20
4.2.2 物理结构设计 21
第 5 章 软件详细设计 26
5.1 功能模块设计 26
5.1.1 网络爬虫功能的设计 26
5.1.2 商品数据维护功能的设计 27
5.1.3 用户管理功能的设计 29
5.1.4 登录注册功能的设计 30
5.1.5 商品搜索比价功能的设计 32
5.1.6 热门推荐功能的设计 33
第 6 章 软件实现 36
6.1 网络爬虫实现 36
6.2 商品数据维护实现 37
6.3 用户管理实现 38
6.4 登录注册实现 38
6.5 商品搜索比价模块实现 39
6.6 热门推荐模块实现 40
第 7 章 系统测试 41
7.1 测试目的 41
7.2 测试方法 41
7.3 测试用例设计 41
7.4 测试结论 47
第 8 章 总结和展望 48
8.1 总结 48
8.2 展望 48
参考文献 49
致 谢 50
vi
第 1 章 引言
1.1 研究背景及研究的目的和意义
1.1.1 项目研究背景
随着互联网技术的不断进步和全球化贸易的加速,电子商务行业已经迅速成长为全球经济的重要组成部分。大量消费者被其便利性所吸引,纷纷转向在线平台进行购物。这一趋势尤其在移动支付和社交媒体营销的推动下得到了加强。在这个背景之下,大量的电商平台应运而生,如京东、淘宝、拼多多等等, 同时,入驻这些平台的商家也是数不胜数。这样的局势对于消费者来说,固然是带来了前所未有的商品多样性和购物便捷性,但与此同时,消费者在网络购物的过程中也遇到了不少问题:
首先,由于电商平台的激增和商品种类的多样化,消费者在挑选商品的过程中,常常会感到很大程度上的选择困难。为了在海量的商品中选择到自己心仪的商品,消费者需要登录多个不同的电商平台,在大量不同商家提供的商品的详情页里来回切换,即使是同一种商品,在不同平台、不同商家提供的商品质量和价格差异也可能很大,在不知不觉之间就会浪费消费者大量的时间,这与网络购物实现便捷性的初衷是相背的。如果消费者只需要在一个页面之中,简单地点击几个按钮,就可以获取来自不同电商平台的商品信息,并且能够按价格、销量等指标对它们进行比较,那将极大地改善消费者的购物体验。
其次,在电子商务平台上,商品信息的不对称性是一个普遍存在的问题。由于缺乏有效的标准化和监管,消费者往往难以判断商品的真实性和质量。这种信息的不对称性不仅增加了消费者的搜寻成本,也可能导致他们做出错误的购物决策,买到并不称心如意的商品。例如, 由于缺乏透明的评价系统以及“刷好评”等现象的存在,消费者可能基于不完整或误导性的评论购买商品,导致他们买到假冒伪劣的商品,从而影响他们的购物满意度。那么,要是存在一个系统,能够对商品进行按照真实销量、评价、商家服务水平等因素进行标准化评估,将质量低下的商品排除在外,同时为质量过硬的产品提高曝光率,将实现消费者和优质商品提供商的双赢的局面。
因此,如何在网络购物的环境下解决以上所述的问题,同时研究如何在电子商务环境中提供更好的消费者决策支持,成为了一个重要的课题。
1.1.2 项目研究的目的和意义
在电子商务的迅猛发展浪潮中,为应对令人眼花缭乱的商品信息,消费者对于智能化和个性化的购物辅助工具的需求日益增长。本研究致力于开发一个基于桌面端的智能购物助手平台,旨在极大提升消费者在电商环境中的购物效率及满意度。平台通过利用网络爬虫技术获取众多电商平台的商品数据, 包括商品名称、商品价格、收藏量和商品图片 url 等,再运用精确的查询与比较机制,来迅速引导用户发现最具性价比和质量保证的商品。此外,平台还将综合考量销量、用户评价、店铺信誉等多项指标,优先向用户推荐高评分商品,从而进一步精炼购物体验。
本平台的实现不仅能够帮助消费者节省寻找和比较商品的时间,还能提升他们的网络购物体验。对于商家而言,该平台可以作为一个有效的反馈渠道,帮助他们更好地理解消费者需求,从而提高产品的市场竞争力。最终,本研究期望通过此购物助手平台的设计与实现,为消费者和商家创造双赢的局面。消费者享受到更便捷、更个性化的购物体验,而表现优秀的商家则能够获得更多的关注与支持,以此共同推动电子商务行业的繁荣和进步。
1.2 项目国内外现状分析
1.2.1 国内研究现状
在我国,电商行业自从 2003 年,淘宝网正式成立以来,已经经过了数十年的发展与沉淀,行业内早已形成了一套完整的产业结构,通过众多营销手段,已经融入到了人民的日常生活之中。不仅如此,我国的电商行业仍在不断地进步和完善,伴随着互联网技术的普及与发展,各大电商商家也都致力于向平台用户提供更优质的服务体验,甚至越来越多的线下企业也纷纷选择转型至线上发展。在这样的大环境下,对于商品比价购物网站开发与研究已经逐渐成熟,[1] 国内比较有名的相关网站有:
慢慢买比价网,一个专业的购物比价网站,以为消费者推送质优价廉的商品为目标。用户能在该网站进行商品比价、查看商品相关的促销活动,且能够查询商品的历史价格,从而寻找购买商品的最佳时机。
什么值得买,一个提供各类商品优惠信息和购买指南的网站,涵盖数码、家居、美妆、服饰等多个领域。用户可以浏览最新的秒杀、超级红包、新品尝鲜等活动,也可以查看文章资讯、用户评价、商品评价等内容。
在实现商品比价功能的研究方面,邱磊在基于 Web 的比价系统的研究与实现[2]一文中给出了实现比价系统所面临的困难,提出了设计时的关键挑战在于确定搜索接口、提取网页中所需信息以及匹配中文商品名称的描述。陈榆等研究人
员在“万物皆可比”——电商售卖比较推荐系统设计一文[3] 中通过网络爬虫技术获取商品信息,设计了一个主要功能有商品比较功能与数据可视化功能等的比价系统,将商品的信息按照价格、所属平台、商品的销量等不同的维度,以多种平面图的形式展现,令人一目了然,更容易理解。
在实现商品推荐功能的研究方面,夏曼在基于用户需求的电子商务推荐系统架构研究[4]一文中提出了电商平台推荐系统的三个发展阶段,第一个阶段是简单的热度推荐,即以销量等对商品信息进行排行;第二个阶段是个性化推荐,通过用户画像的特定标签进行有针对性的推荐;第三个阶段是个性化实时推荐,实时地反映用户行为,是许多知名的电商平台,如京东、淘宝等使用的推荐方式。徐超开发了一个智能商场推荐系统,该系统采用了混合协同过滤方法,结合了用户和物品的评分数据。通过分析用户的历史购买行为,系统能够推荐那些与用户兴趣匹配的其他用户偏好的商品,以及类似的商品,从而最大化地去满足用户的需求。
1.2.2 国外研究现状
国外电商行业的发展以北美地区为主, 自上世纪九十年代起,北美的电商行业因政府的积极支持而快速进步和发展。美国借助其先进的互联网技术,使其电子商务始终处于全球领先地位,这也使得国外对比价系统的研究起步较于国内更早,[6] 并且已经成功的培养了用户的使用习惯,据调查,约七成的美国网民在电商平台购物前会习惯性地访问比价网站。[7] 目前较为流行的网站有 Shopzilla、Bizrate、 Flipp 等。[8]
Shopzilla 是一个在线零售平台,用于比较不同零售商的价格和阅读产品评论,为用户提供了一个方便且全面的购物方案。该平台涵盖了广泛的产品类别,包括家居用品、电子产品、服装和时尚, 使用户能够轻松搜索特定商品并比较价格,以找到最优惠的交易。
BizRate 网站正式上线于 1996 年,主要服务于美国和英国。Bizrate 通过利用算法,去搜遍网络以识别可用的最佳交易,保证用户能够获得有竞争力的价格。用户在该网站通过检索可以比较目标商品包括价格、位置在内的各种相关信息,可以为用户的购买决断提供丰富的信息支持。
而在国外对于商品比价系统的研究方面,Arman Shaikh 等人在他们的研究中提供了一个基于网页抓取的电商价格比较网站的模型,使用网页抓取技术,从各种电子商务网站提取产品信息,并将产品信息展示在系统前端上,允许用户比较各个电商购物网站的商品成本。[9] Ashraful Alam 等人构建了一个使用 Scrapy 框架实现网络爬虫爬取商品信息,并使用余弦相似性算法来匹配用户查询结果实现搜
索功能的电商比价工具。[10]
在对于商品推荐功能的研究方面,Gediminas Adomavicius 等人提供了多个实现商品推荐功能的方法,包括基于用户过去高度评价的商品之间的共同点的基于内容的推荐方法、基于其他用户之前对某物品的评价的协同过滤方法以及结合协同过滤和基于内容的混合推荐方法,并指出了不同推荐方法之间的优势与弊端。[11]
1.2.3 现存购物助手网站的优缺点
通过对互联网上一些现有的购物助手网站的使用,可以感受到无论是在国内还是国外,商品比价购物网站的研究与开发已较为成熟,[12] 基本上能实现在不同电商平台之间比较商品价格等信息的要求,并且能够从海量的信息中挑选合适的商品推荐给用户。其中大多数网站也有各自的亮点,例如提供商品历史价格的查询、为商品提供真实的测评、开设各种优惠活动等等。
但除此之外,部分网站也存在着一定的缺点:
(1)网页设计元素过于花哨,不够简洁,在页面中有许多与商品不相干的内容,影响用户做出有效的选择。
(2)搜索功能不够精准,通过关键词可能匹配出不需要的商品信息。
(3)网站只提供商品的查询以及根据价格、销量排序的功能,并没有做到根据不同的用户推荐不同的商品,使得网站同质化严重,不能很好地吸引用户。
1.3 主要研究工作
本课题旨在设计与实现一个兼具商品查找、价格比较与推荐功能的综合性智能购物助手,以互联网上已经存在的类似网站,如什么值得买、慢慢买等网站为基准,尽可能地做到搜索上的精准,推荐上的智能。
核心内容如下:
(1)抓取市面上各大主流电商平台的商品数据,并将这些商品信息储存进数据库。
(2)对商品根据商品标签进行分类。运用搜索引擎 ElasticSearch 建立商品数据索引,并实现对商品信息的搜索和以销量、价格等为参数的排序方式,以帮助用户高效地在众多商品之中准确搜索、做出最满意的选择。
(3)对数据库中商品信息进行分析,基于商品销量、商品评论量、商家物流评分、商家服务评分等关键因素进行评分,并给出推荐理由,优先将评分较高的商品推送给用户,以帮助用户寻找到他们可能感兴趣的商品。
本购物助手平台的创新点为:平台可以利用一定的算法实现商品的比价与推荐机制,为用户提供最优质的购物策略。
第 2 章 研究相关技术介绍
2.1 相关技术
2.1.1 Spring Boot
Spring Boot 是一个基于 Spring 的框架,旨在简化 Spring 应用的配置和开发过程,通过自动配置和约定大于配置的原则,使开发者能够快速搭建独立、生产级别的应用程序。
此技术在本系统中作为后端开发的框架。
图 2.1 SpringBoot 框架图
2.1.2 Selenium
Selenium 是一个自动化测试工具,它可以驱动浏览器自动执行自定义好的逻辑代码,即通过代码完全模拟使用浏览器自动访问目标站点并操作,因此可以用于进行爬虫的实现。
本系统使用该技术进行 Java 爬虫的开发。
2.1.3 VUE
Vue 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和JavaScript 构建,并提供了一套声明式的、组件化的编程模型, 以帮助用户进行高效地开发用户界面。
该技术在本系统中作为前端开发的框架。
2.1.4 Electron
Electron 是一个使用 HTML、CSS 和 JavaScript 创建桌面应用程序的框架,它集成了 Chromium 和 Node.js,可以跨平台运行。
本系统通过使用 Electron-builder 将前端项目打包成桌面端应用程序运行。
2.1.5 Spring Data JPA
Spring Data JPA 提供了一种简化的数据访问方式,用于与关系型数据库进行交互。它基于 Java Persistence API 标准,并提供了一套简洁的 API 和注解,使开发人员能够通过简单的 Java 对象来表示数据库表,并通过自动生成的 SQL 语句执行常见的 CRUD 操作。
本系统采用该技术来实现项目后端与数据库的交互。
第 3 章 需求分析
本章将通过分析基于基于桌面端的购物助手平台的整体业务流程来确定系统的功能需求和非功能需求。
3.1 业务需求分析
3.1.1 业务需求描述
本购物助手平台的系统角色分为用户和管理员两种,他们的业务需求分别为:
- 用户
(1)能够对想要寻找的商品进行搜索,并对查询结果进行浏览与比价。
(2)能够访问平台推荐的优质商品榜单,从而优化自己的购买决策。 - 管理员
(1)负责启动爬虫程序,整合主流电商平台如京东、天猫等的商品信息,包括但不限于价格、名称、销量。
(2)负责监控系统中的违规商品数据和平台用户详情,并对这些信息进行管理。
(3)负责实施对商品数据的评估分析,根据综合评分将优质商品推荐给用户。
3.1.2 业务流程
基于桌面端的购物助手平台的整体流程图如图 3.1所示:
平台管理员的业务是首先启动网络爬虫模块,获取商品数据,其次启动商品搜索比价模块,对商品数据建立索引文档,便于查询。在登录后台管理系统之后,便可以进行对商品评估模型的管理,对相关的评价指标进行修改,进行商品评分操作,这样系统才会推荐商品给用户;或对数据库内的商品信息进行维护,检查是否有不符合标准的数据;也可以对平台的用户信息进行管理。
用户在使用本平台时,需要进行登录或注册。完成之后即可对自己的个人信息进行管理,或进行商品搜索与比价,但只有在平台管理员进行完商品评分的操作之后,才能够浏览平台推送的推荐商品。
图 3.1 基于桌面端的购物助手平台整体流程图
3.2 用户需求分析
3.2.1 用户管理部分
图 3.2 用户管理用例图
用户管理功能包括搜索比价、浏览推荐商品、用户注册以及登录、用户修改个人信息。
(1)搜索比价:用户进入购物助手平台主界面,即可在主页面的搜索栏,或点击进入商品搜索页面,输入关键词进行商品查询,查询的结果可以按照销量和价格进行排序。
(2)浏览推荐商品:用户进入热门推荐榜页面,查看当前综合评价较高的商品及其推荐理由。
(3)用户注册:用户进入购物助手平台注册页面,输入账号、密码进行注册。
(4)用户登录:用户进入购物助手平台登录页面,输入注册时使用的账号、密码进行登录。
(5)用户修改个人信息:用户进入购物助手平台主页面,在右上角点击个人信息选项,可以修改自己的个人偏好、用户名与密码。
3.2.2 管理员管理部分