基于Python的二手车信息数据可视化系统的设计与实现
摘 要
随着互联网信息技术市场与二手车市场的高速发展,两者间的联系也随之更加紧密,二手车交易作为二手车市场的重要组成部分,在越来越多的二手车卖家与买家聚焦于互联网市场情况下,其信息的透明度和获取效率对于买家和卖家而言越来越重要,为了增强公众在查找和解析二手车信息时的效率,并助力他们做出更为明智的选择,本次毕业设计的核心目标是构建一个在线爬虫技术驱动的二手车信息的可视化系统。
由于互联网二手车市场信息的复杂,本次的系统设计以二手车买家为切入点,基于Python爬虫系统开发语言,PyCharm开发工具,运用Vue与Flask前后端框架与MySQL数据库进行设计,将可视化系统分为管理层与用户层,用户层面可以进行用户注册与登录、二手车数据的概览、二手车筛选、二手车信息可视化预览与价格预测,管理层可以进行用户管理、数据获取、用户信息查看。
利用这一系统,用户能够迅速访问到最新的二手车资讯,涵盖了如价格、排量、车型、行驶里程等丰富数据,在系统界面上直观地对比和分析了各种车源的独特属性。通过对该系统的开发与实施,二手车信息服务的及时性和便利性得到了显著提升,这对推进二手车市场信息的透明与透明发挥了正面作用。
关键词:二手车交易;Python爬虫;数据可视化
1 绪 论
1.1 课题背景
近些年,由于网络技术的迅速发展以及大数据应用的广泛推广,二手车市场的数据收集和解析变得更为方便和高效。由于二手车信息具有巨大和异构的特点,这导致信息的采集、归纳和解析异常复杂,并需耗费大规模的人力和物力资源。面对二手车信息处理效率和准确性日益增加的严格挑战,开发一种基于爬虫模型的二手车信息数据可视化系统显得尤为重要。
1.2 课题的意义
基于爬虫技术的二手车数据可视化系统的开发与应用为我国的二手车行业增长和社会前行创造了有利条件。对于那些计划购车的人们而言,一个此类系统能够辅助他们更迅速地接触和理解二手车市场的动态,从而为他们作出更加合理和科学的购车选择。对于政府机构和二手车的开发人员而言,这种系统能够为他们提供丰富的二手市场数据,从而助力他们更为准确地洞察市场动态和需求变化。 这一系统同样能够为大数据处理、数据挖掘以及人工智能等专业领域供给研究参考和应用的场景选择。对于当前的学术研究,开发和实施一种基于爬虫技术的二手车数据可视化系统显得极为重要。这不只是能够加速二手车市场向信息化和数据化的方向迈进,从而提升二手车市场的运营效率,而且还将推动大数据处理、数据挖掘和人工智能等相关领域的进一步壮大。此外,利用这个时机也可以加强大众对大数据以及数据可视化的认知和运用,从而助力社会更加数字化与科技化的发展。
1.3 课题目标
论文主要应对于二手车买家对于各种二手车平台繁杂信息难以清晰直观的选出适合自身的二手车,从而设计该二手车信息数据可视化系统,该系统设计能给系统用户提供一个更加清晰直观的可视化平台,方便于买家的浏览,同时还能提供二手车价的相关预测于买家,也能对二手车市场带来相关积极的反响,因此,该系统设计需要完成以下几点:
- 对二手车信息数据可视化系统的用户需求具体分析,对各个功能模块进行详细分析与设计并从前后端框架与数据库做出相关的设计大纲。
- 二手车信息数据的预览需要界面简洁,操作明了,用户在登录系统后,可以直接进行相关筛选,选出自己心中所求的二手车。
- 对二手车信息数据的不同角度进行可视化分析,如各级别车型、排量、车龄、行驶里程等维度的可视化,可以供用户从不同的角度对二手车进行浏览与选择。
2 需求分析与实施方案
2.1 可行性分析
2.1.1 技术可行性
毕业设计题目“基于爬虫的二手车信息数据可视化系统的设计与实现”旨在开发一个能够获取、处理和展示二手车数据的系统的系统。技术可行性分析如下:
爬虫技术已日趋成熟,通过Python编程语言的requests库,可以高效地从在线二手车交易平台提取所需数据。此外,利用parsel、re、pandas等库对数据进行深度解析,确保数据的精准性和高质量。
在数据存储方面,选择使用稳定性和成熟度都相当高的MySQL数据库来保存爬取得到的数据。同时,用pymysql库操作数据库,满足各种存储以及查询的需求。对于数据处理,Pandas库的应用可以进行数据清洗和初步处理,以保障数据的高质量和精准性。
在数据可视化的过程中,选择使用成熟的前端库ECharts来进行数据展示,清晰地呈现二手车的价格分布情况和价格趋势等相关信息。因此,在技术层面,此系统完全可行,并能够为用户提供友善的界面和出色的用户体验。
此外,为了提升用户体验,采用Vue3构建用户界面,使交互更为流畅。在数据分析阶段,引入随机森林和决策树等机器学习算法,实现更精确的数据分析和预测,进一步提高系统的智能性和准确性。这一系列的技术选型和设计,都保证了该系统的高性能和高效率。
2.1.2操作可行性
该系统的编程语言Python是一款免费的开源的脚本语言,PythonCharm相关开发配置环境也有着免费的相关版本,可视化展示工具ECharts也是一款稳定,操作界面简洁便利的开源工具,可以说,该系统的操作门槛低,便于上手,因此,对于该系统操作方面的可行性来说,是无需多虑的。
2.2 功能需求分析
2.2.1 角色说明
本系统的设计分为两个层面,分别为管理层面与用户层面,也就是管理者与用户,管理权限与用户权限是不同的,具体角色分类与所具权限如下:
- 管理者:能够通过账户密码登录管理者界面,能看到用户所能看到的可视化界面,同时能够对用户的信息进行查看与管理,对二手车信息数据的获取,对爬取的二手车数据进行管理删除。
- 用户:能够通过注册登录查看二手车相关数据的概览,通过所需进行数据的相关筛选,查看不同方面二手车数据信息分析的可视化。
2.2.2 功能需求
2.2.2.1 用户功能需求
(2)登录功能:注册账户完成后的用户通过正确的注册账号密码登录使用系统。
(3)个人信息:用户登录后可以进入个人信息界面,对个人相关信息,如姓名、邮箱、电话等进行完善,对账户密码进行修改。
(4)修改密码:输入原密码与新密码,可修改密码。
(5)首页:首页分为四块,第一块分析了平台用户数、汽车数据条数、平均售价、平均行驶里程、车型类别、颜色种类6个维度的数据;第二块分析了燃油标号占比;第三块分析了各个区间的售价车辆数;第四块分析了各个年份的车辆占比。
(6)数据概览:将爬取到的数据进行展示,实时展示详细的二手车数据,支持根据名称和年份筛选数据,点击详情按钮可跳转到原始网站二手车详情页面。
(7)各级别车型分析:该模块以各级别车型为维度,分别分析了各级别车型占比(以饼图展示)、各级别车型均价(展示原价和现价,以折线图展示)和各级别车源数量(以柱状图展示)。
(8)排量分析:该模块以车辆排量为维度进行分析,分别分析了各排量均价(展示原价和现价,以折线图展示),各排量车源数量(以柱状图展示)。
(9)车龄分析:该模块以车龄为维度,分别分析了车辆均价(展示原价和现价,以折线图展示)、车源数量(以柱状图展示)、保值率(以折线图展示)和车源数量占比(以饼图展示)。
(10)行驶里程分析:该模块以车辆行驶里程为维度,分别分析了行驶里程与车龄之间的关系(柱状图)和行驶里程和保值率之间的关系(线性回归)。
(11)车型分析:该模块以车辆品牌为维度,分别分析了车型保值率四象限图、车型数量排名TOP30和车型词云。
(12)颜色分析:该模块以颜色为维度,分别分析了各颜色占比和各颜色保值率。
(13)价格预测:该模块用随机森林回归模型分析了影响二手车保值率的各个属性,用决策树算法对二手车保值率进行预测。
2.2.2.2 管理者功能需求
除上述用户所具备的功能后,管理者所独有的功能需求如下:
- 用户管理:管理者可以进入用户管理页面,可以看到目前所注册的用户人数及其相关信息,通过姓名,手机账号进行搜索,还可以对用户进行如下操作:
-
- 新增:点击新增按钮,输入用户信息,可添加新用户
- 搜索:输入用户名字和手机号码,点击搜索即可查询用户信息
- 编辑:编辑用户信息
- 重置密码:点击重置密码,可重置该用户密码
- 启用/停用:对用户账号状态进行修改,被停用的用户无法登录系统
- 删除:删除该账号
-
- 数据爬取:管理者可以进入数据爬取页面,输入开始页数和结束页数,进行二手车相关数据爬取。
- 爬取日志:管理者可以进入爬取日志界面,查看对于二手车网址数据爬取的相关状态。
- 管理数据:管理者可以对已经爬取的相关数据进行删除操作。
2.3 开发环境
硬件支持:该系统是基于Windows11系统、AMD Ryzen 5 4600H处理器、16G运行内存与1TB固态硬盘硬件下进行系统开发。
软件支持:该系统运用PyCharm与MySQL数据库软件,使用Flask框架链接MySQL数据库,在Vue中使用Echarts进行数据可视化,系统主要使用Pthon语言进行编写实现。
2.4 实施方案
该系统是使用基于Python语言,基于Flask和Vue.js构建的Web系统,用户在前端界面进行操作,产生HTTP请求发送至服务器。Flask框架接收到这些请求并创建对应的请求对象。然后,Flask根据路由配置找到匹配的视图函数,执行该函数以处理请求。在视图函数中,可能会与MySQL数据库进行交互,执行数据的查询、插入、更新或删除等操作,以完成用户的请求。处理完成后,视图函数会构造一个响应对象,这个响应对象包含了要返回给用户的数据。接着,Flask将响应对象转换为HTTP响应,通过客户端的浏览器呈现结果。在这个过程中,前端使用Vue.js框架来提升用户界面的交互性和动态内容展示,可能还会用ECharts图表库来呈现数据可视化。
总结一下,整个流程如下:
1、用户在前端界面(由Vue.js构建)上进行操作。
2、前端界面发送HTTP请求至服务器。
3、Flask框架接收请求并创建请求对象。
4、根据路由,Flask查找并调用对应的视图函数。
5、视图函数与MySQL数据库进行交互(假如需要)。
6、视图函数处理完请求后,创建一个响应对象。
7、Flask将响应对象转换为HTTP响应并返回给客户端。
8、客户端浏览器接收响应,并由Vue.js动态渲染页面内容和ECharts图表。
2.4.1 开发语言
该系统使用基于Python语言,Python语言是少有的一种可以称得上既简单又强大的编程语言,其注重于解决问题而不是编程语言的语法与结构,其功能强大,具有高效率的高层数据结构,Python简洁的语法和对动态输入的支持,再加上其解释性语言的本质,使得它在大多数平台上的许多领域都是一个特别理想的开发脚本语言,特别适用于快速的应用程序开发。在使用Python时,通常我们都能很快的进行错误的纠正,这也源自于其所具备的简洁性。正因为这些优点,因而才选择Python作为本系统的开发语言,为该系统的开发提供了高效,可靠的优势。
2.4.2 开发工具
系统使用的开发软件为Pycharm,Pycharm是一种python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,具有非常好的交互性,非常便利于系统的开发,为系统的开发的选择提供了更多的选择。在其提供丰富的功能与工具的基础上,提高系统的开发效率、改善代码的质量,提高系统开发的质量。
该系统使用MySQL数据库,MySQL是一种开源关系型数据库管理系统,其是基于SQL结构化查询语言并且是支持多个使用者、多个存储引擎,对于数据的存储具有十分灵活的特性,在系统中与Flask框架相配合,执行相关视图的函数,与MySQL数据库进行交互,已完成系统的需求
2.4.3 后端Flask框架
该系统基于Flask框架完成,flask是一个使用Python编写的轻量级Web应用框架,相较于其它同类的框架来说,Flask框架更为的灵活、便利,更容易上手。第三方库的选择面广,便于开发者可以选择结合自己所需所好,也能结合最流行最强的Python库,是十分适用于本系统的开发的。
2.4.4 前端Vue框架
Vue2是一个构建用户界面的渐进式JavaScript框架。它的核心库只关注视图层,易于上手,同时也便于与其他库或已有项目整合。Vue2的设计使得开发者可以逐步采用其功能,从简单的组件开始,逐渐过渡到更复杂的单页应用。此外,Vue2拥有丰富的官方维护的插件和库,为开发提供了极大的便利。在本系统中,Vue2被用于构建交互式的前端界面,与Flask后端进行数据交互,提供良好的用户体验。
2.4.5 决策树与随机森林算法
在本系统中,决策树算法被用来预测二手车的价格。决策树提供了一种直观且易于理解的模型结构,能够有效地对价格进行分类和回归分析。同时,随机森林作为决策树的集成方法,用于分析哪些属性对二手车价格的影响最为显著。随机森林能够处理高维数据,并且对于决策树容易过拟合的问题有很好的抗性。通过利用多个决策树的集合投票机制,随机森林提高了预测的准确性和稳健性。这两种机器学习技术共同为系统中的定价和属性重要性分析提供了可靠的科学依据。
2.4.6 实施步骤
该系统实施在所具备基本的硬件基础上,需要安装相关的软件Pycharm与MySQL数据库,在安装完基本的软件后,其次需要搭建好Flask框架,因为该系统是使用基于Python语言,基于Flask和Vue.js构建的Web系统。在完成这些基本步骤后,需要着手于系统代码的进一步编写,将Flask框架与MySQL数据库进行相关链接,便利于之后相关数据的存储,在随后需要创建出系统存储数据所需要的表。完成这些后,需要对前端页面进行编写,即管理员界面与用户界面。完成这些步骤后,系统基本上完成。在完成的基础上,需要不断进行系统的相关测试,避免系统后期运行时出现各种报错,经过相关系统测试无误后,系统才算最终完成。
3 系统设计
3.1 总体设计
3.1.1 设计目标
基于爬虫的二手车信息数据可视化系统的设计与实现其总体设计模块图如图3-1所示。
图3-1 总体设计模块图
3.1.2 系统结构
基于爬虫的二手车信息数据可视化系统的设计与实现其系统结构如图3-2所示。

图3-2 系统结构图
3.1.3 用户流程图
基于爬虫的二手车信息数据可视化系统的设计与实现其用户流程如图3-3所示。

图3-3 用户操作流程图
如图所示,这个流程图描述了二手车信息数据可视化系统的设计与实现过程。
为了确保用户能够高效且安全地使用系统,首先需要创建一个账户。一旦注册成功,用户便可以使用其登录凭证访问系统。
在成功登入系统后,用户将能够访问和浏览各种房屋信息,并且利用系统中的分析工具来获得更深入的市场见解。此外,系统还提供了个性化服务,允许用户根据需求更新他们的个人信息以及重置或更改密码,确保了使用的便捷性和安全性。
整个设计过程考虑到了用户体验和信息安全,旨在为用户提供一个直观、易用且安全的二手车信息查询与分析平台。
3.1.4 管理员管理流程
基于爬虫的二手车信息数据可视化系统的设计与实现其管理员操作流程如图3-4所示。

图3-4 管理员操作流程图
如图所示,首先,管理者需要通过输入正确的登录凭证进入系统。成功登录后,他们负责设置和调整爬虫程序的参数,这些爬虫程序是系统收集车源信息的关键工具。
随后,系统利用配置好的爬虫程序自动搜集网络上的二手车信息,并执行必要的数据处理工作,如清洗、整合和存储。一旦数据处理完毕,系统将采用数据可视化技术将这些复杂的数据集转换成直观的图形和图表,使管理者能够轻松地分析和解读这些信息。
除了数据分析功能,管理者还有权限管理用户账户,包括查看用户列表、添加新用户、更新现有用户信息或删除不再需要的用户账户。同时,管理者也可以对自己的账户进行管理,包括更改个人资料和密码,以确保系统管理的连续性和安全性。
3.2 模块功能具体设计
3.2.1 用户功能设计
(1)用户注册
基于爬虫的二手车信息数据可视化系统的设计与实现的用户注册功能描述:用户通过填写用户名、密码、邮箱等信息完成注册。部分代码如图3-5所示。
|
@user_api.route('/reg', methods=['POST']) |
图3-5 用户注册部分代码
基于爬虫的二手车信息数据可视化系统的用户注册设计代码主要负责处理用户注册请求。这一段代码是基于Flask框架构建的简化Python应用程序,实现了用户注册这一功能。已经定义了一个被称作 User 的类模型,旨在数据库内储存相关用户资料。接下来,设定了一个名为reg的路由,它用于响应和处理用户提交的POST的注册请求。在用户递交其注册表格之后,该软件将核实用户名、电子邮件以及密码是否已被填入,随后将所有的用户名、电子邮件和已加密代码保存到数据库里。除此之外,该应用还采纳了pymysql 的扩展技术,为数据库的链接及其操作进行了有效的封装。在reg.vue的模板文件里,展现了用户所需注册的表单,并且有一个提示框用来标明可能存在的误差。这个例子可以视为基于爬虫技术的二手车信息数据可视化平台的核心部分,未来它还可以根据用户需求进一步提供功能,比如用户登录和数据可视化等功能。
(2)用户登录
基于爬虫的二手车信息数据可视化系统的设计与实现的用户登录功能描述:用户通过输入用户名和密码进行登录,验证身份。部分代码如图3-6所示。
|
@login_api.route('/userLogin', methods=['POST']) |
图3-6 用户登录代码
基于爬虫的二手车信息数据可视化系统的设计与实现的用户登录功能的核心是处理登录相关的请求,代码是基于Flask框架简洁的Python应用,能够实现用户的登录功能。首先,创建了一个名叫User的模型系列,用于在数据库里储存用户的详细信息。接下来,构建了一个名为login的路由器,专门用于处理POST用户登录时的请求事务。当用户递交他们的登录表,该应用将核实用户名与其密码是否相符。若两者一致,用户会被路由导向至登录页面,否则页面不进行跳转。除此之外,这个应用还引入了pymysql扩展技术,对数据库的连接和操作进行了全面的封装处理。在login.vue这一模板文件里,展示了用于记录用户登录详情的表格,并附带了用于提示错误信息的框式提示。这一示范被视为基于爬虫技术的二手车数据可视化系统的核心部分,未来它还有能力根据用户需要进一步增加如用户手机验证码登录、邮箱登录等功能。
3.2.2 管理员在线爬虫功能设计
基于爬虫的二手车信息数据可视化系统的设计与实现的管理员在线爬取数据部分代码如图3-7所示
|
import requests # 获取列表数据 def get_detail_url(list_url): # 要返回的字典 return_list = [] # 1 发送请求 response = requests.get(list_url) # 2 获取数据 网页源代码 data_html = response.text # 3解释数据(筛选数据) selector = parsel.Selector(data_html) lis = selector.css('.viewlist_ul li') for li in lis: title = li.css('.card-name::text').get() # 标题 tags = li.css('.cards-unit::text').get() # 标签 price = li.css('.pirce em::text').get() # 售价 original_price = li.css('s::text').get() # 原价 detail_url = 'https://www.che168.com/' + li.css('.carinfo::attr(href)').get() # 详情地址 data = { 'title': title, 'price': price, 'original_price': original_price, 'detail_url': detail_url } return_list.append(data) return return_list |
图3-7 管理员在线爬取数据功能代码
在基于爬虫的二手车信息数据可视化系统的设计与实现中,管理员能够在线执行数据爬取操作是至关重要的功能。该功能的核心在于处理爬虫请求、抓取数据以及将数据存储到数据库中。以下是一个简化版的Python应用程序,它基于Flask框架,并成功地实现了用户在线爬取数据的功能。
操作流程是这样的:用户首先输入他们想要爬取的开始页码和结束页码,然后点击提交。这时,前端使用axios库向Flask后端发送一个HTTP请求。一旦后端接收到这个请求,它会调用相应的爬虫函数来开始数据的爬取过程。
数据成功爬取后,系统会利用plmysql库将这些数据保存到数据库中。在这个过程中,为了避免重复爬取相同的数据,系统会检查每条数据是否已经被爬取过。如果检测到某条数据之前已经被爬取并存储,系统会智能地跳过这条数据,确保数据库中的数据是最新且不重复的。
通过这样的设计和实现,系统不仅提高了数据爬取的效率,还确保了数据的质量和准确性,为管理员提供了一个强大而高效的数据爬取工具。
3.3 数据库设计
3.3.1 E-R图设计

图3-8 E-R图
3.3.2 数据表设计
在基于爬虫的二手车信息数据可视化系统的设计与实现里,系统数据库发挥着不可或缺的作用,它涵盖了各种表格,并共同记录了该平台内所有主要实体的详细信息。sys_user表中包含了每位用户的详细数据,这其中有用户名、密码、账号以及邮箱等。tbl_car表格详细列明了所有车辆信息,这其中有车辆名称、车辆价格、原价、年份、马力、行驶里程等字段。tbl_log表中记录了数据爬取的日志信息,包括执行爬虫用户姓名、执行开始时间、执行结束时间、数据条数、爬取结果等字段。sys_file表中记录了系统中上传的文件信息。
表 3-9 系统数据库整体信息表
|
表名 |
说明 |
功能 |
|
sys_file |
文件信息表 |
存储文件信息 |
|
tbl_log |
日志信息表 |
存储数据爬取日志 |
|
tbl_car |
车辆信息表 |
存储车辆信息 |
|
sys_user |
用户信息表 |
存储系统用户信息 |
4 系统的实现
4.1 用户管理员注册登录功能
如图4-1与4-2,在用户登录界面,该系统应提供简单、直观的登录页面,用户与管理员登录系统时需要输入用户名与密码,输入成功会进入主页,如果验证码输入错误,会提示“验证码错误”,如果用户名或密码错误则会提示“用户名或密码错误”,另外,如果用户账号被停用则会提示“该账号已停用,请联系管理员处理”,页面不会进行跳转。用户登录对于保障用户数据安全至关重要,是实现个性化服务的开始。
另外,为便于新用户使用,应包含注册链接,用户在登录页面点击“没有账号,注册一个”按钮,则会跳转到注册页面,如图4-2,用户需要输入登录账号、用户姓名、密码和确认密码来进行注册,系统会自动校验该账号是否已注册,以及两次输入密码是否相同,所有条件满足会提示注册成功,并跳转到登陆页面。

图4-1 用户及管理员登录功能界面

图4-2 用户及管理员注册功能界面
4.2 用户功能实现
4.2.1 首页
在设计用户首页界面时,我们的目标是精心打造一个信息汇总平台,使其成为系统的核心入口。如图4-3所示,该页面被设计成能够直观地展示系统中的海量数据资源,从而让用户对二手车市场有一个全面的初步了解,并快速把握市场动态。首页被划分为四个主要区域,每个区域都专注于不同维度的数据展示。
第一区详细呈现了平台的统计概况,包括用户数量、汽车数据条数、平均售价、平均行驶里程、车型种类以及车辆颜色种类等六个关键指标。通过该区展示,我们可以清晰地发现系统中共有三个用户、6692条二手车数据、所有汽车的平均售价为22.05万元、二手车的平均行驶里程为5.69万公里以及其他信息,可以让用户对二手车信息有个大概的了解。
第二区深入分析了燃油类型在不同标号中的占比情况。通过饼状图分析,可以看出二手车主要以95号和92号油为主,98号汽油和0号(柴油)汽车保有量较少。
第三区则关注售价分布,展示了不同价格区间内车辆数量的情况。用户可以清楚地看到3到30万区间的汽车较多。
而第四区则着重于车龄分布,显示了各年份车辆的占比情况。可以看出近四年汽车较多,四年前的汽车按照距离依次变少。

图4-3 首页
4.2.2 二手车数据概览
在设计数据展示页面时,如图4-4展示的,我们应当精心构建一个信息总览环境,作为系统的核心功能,该页面不仅应一目了然地展现系统中蕴含的丰富数据资源,同时还要巧妙地融合各种筛选工具,以增强用户的检索效率和体验。
关键筛选元素,例如名称搜索和年份搜索,都应巧妙布局在界面上,旨在为用户提供灵活、直观的数据筛选功能。这些字段的设计必须兼顾信息的全面性和界面的整洁性,确保用户能在信息量丰富又不造成视觉拥挤的环境下,迅速而准确地定位到他们所关心的数据。
管理员登录界面后,还可以点击删除按钮,对不符合要求的数据进行清除。
综上所述,这个页面的设计理念是在确保用户能够轻松访问和利用主要数据的同时,保持界面的清晰和友好,让用户每次登陆都能获得高效且愉悦的信息探索体验。

图4-4 二手车数据概览界面
4.2.3 各级别车型分析
如图4-5所示,该功能从三个角度对车辆级别维度的数据进行了详细分析。
首先,通过饼状图,我们能够直观地看到不同级别车型在市场中的保有量比例。这使用户能够快速把握各级别车型的市场分布情况。
其次,折线图被用来展示各级别车型的现价与原价对比。通过观察图中的数据,用户可以清晰地了解到中大型suv、跑车和大型车的售价相对较高,而微型车、微型面包车和微卡的价格较为亲民。同时,价格较高的车型其保值率通常较低,这一现象揭示了原价对保值率的影响显著。
最后,柱状图有效地展示了各级别车型的数量分布。用户可以直观地发现,中型车、紧凑型车和中大型车的数量较多,而皮卡、微卡和轻客车的数量则相对较少。
综上所述,该功能通过三种图表形式,从不同角度深入分析了车辆级别的相关数据,为用户提供了全面且清晰的市场信息。

图4-5 各级别车型分析功能界面
4.2.4 排量分析
如图4-6所示,该功能以车辆的排量为维度,对车辆数据进行了深入分析,提供了两个关键洞察。
首先,通过折线图展示了排量与价格之间的关系。用户可以清晰地观察到,汽车价格随着排量的增加而上升。在2.8升排量以内,汽车价格相对较低,且保值率较为稳定。然而,随着排量的进一步增大,汽车价格迅速上升,而保值率则变得参差不齐,整体呈现下降趋势。
其次,分析了排量与车源数量之间的关系。从图中可以看出,排量在2.0升左右的车辆数量较多,而随着排量的增加,车辆数量逐渐减少。
这一功能的分析结果为用户提供了重要的市场信息,指导用户在选择车辆时考虑排量因素。例如,如果用户预算有限,可能会倾向于选择排量较低、价格较亲民的车辆;而如果用户追求动力性能,可能需要预算更高价格购买大排量车型。同时,考虑到保值率和车源数量,用户可能会在性价比和未来转手价值之间做出权衡。

图4-6 排量分析功能界面
4.2.5 车龄分析
如图4-7所示,我们以车龄为维度对车辆信息进行了深入分析,该功能涵盖了四个主要模块。
首先,我们对车龄与均价的关系进行了分析。通过相应的图表,用户可以清晰地看到车辆价格随着车龄的增加而逐渐降低。具体来说,车龄在五年以内的车辆保值率相对稳定,而随着车龄的进一步增长,保值率开始显著下降。
其次,针对车源数量的分析表明,车龄在1到8年的车辆占比较高,说明市场上这类车辆较为常见。然而,随着车龄的增加,车辆的保有率逐步降低,这可能与车辆的状况和市场需求有关。
接着,我们对车辆的保值率进行了详细分析。结果显示,随着车龄的增长,保值率呈现下降趋势。这表明新车在最初几年内价值减少较快,而老旧车辆的保值能力则较弱。
最后,通过车源数量的饼状图,用户可以直观地了解到各个车龄段的车辆在市场中的占比情况。这有助于用户把握市场动态,做出更明智的购车决策。
综上所述,这一功能模块为用户提供了关于车龄维度的全面分析,从而帮助用户更好地理解车辆价值与车龄之间的关系,以及市场上不同车龄车辆的分布情况。

图4-7 车龄分析界面
4.2.6 行驶里程分析
如图4-8所示,我们以行驶里程为关键维度,对车辆信息进行了详尽的分析。这一功能主要包括两个分析模块,旨在深入探索行驶里程与其他车辆属性之间的关系。
首先,我们分析了行驶里程与车龄之间的关联性。通过细致的分析,我们发现,随着车龄的增长,车辆的行驶里程相应增加。这一趋势反映了车辆使用时间与行驶距离之间的正相关性,即车辆使用年限越长,其累积行驶的里程也往往越远。
其次,我们利用线性回归方法,探讨了行驶里程与保值率之间的关系。分析结果显示,保值率随着行驶里程的增加而逐渐降低。这一现象表明,行驶里程是影响车辆保值率的一个重要因素,行驶里程越长,车辆的保值能力通常越弱。
综上所述,通过对行驶里程这一维度的分析,我们得到了关于车辆使用情况与价值保持之间关系的重要洞察。这些分析结果不仅有助于用户更好地理解车辆行驶里程对其价值的影响,也为用户提供了购车决策时的参考依据。

图4-8 行驶里程分析界面
4.2.7 车型分析
如图4-9所示,我们以车型为关键维度,对车辆数据进行了细致分析。这一分析通过三个主要模块,为我们提供了对车辆保值率、车型数量以及车型活跃度的深入洞察。
首先,我们运用四象限图展示了各个车型的保值率情况。在这张图中,点的大小代表了该车型的数据量;点的位置则揭示了其保值率的高低。从图中可以清晰地看到,高价值且高保值的车型包括保时捷718、坦克300、奔驰GLC和别克GL8等。相反,宝马X1、mini、凯美瑞、宝马5系等车型则呈现出高价值但低保值的特点。
其次,我们对车型数量进行了排名分析,重点关注了排名前30的数据。分析结果表明,宝马5系、奔驰、奥迪等车型在二手车市场中尤为活跃,这表明它们在市场上的流通量较大,受欢迎程度较高。
最后,我们采用了词云图这种直观的形式来展示各个车型的活跃度。在这张图中,宝马4系、奔驰E级等车型的字样较为显眼,显示了它们在市场中的高活跃度。此外,国产车型如魏派、领克03、宋等也展现出了较高的市场活跃度。

图4-9 车型分析界面
4.2.8 颜色分析
如图4-10所示,我们以颜色为关键维度,对车辆数据进行了细致分析。首先分析了各个颜色车辆占比,由图可见,白色、黑色和银/灰色车辆占比较大,尤其以白色和黑色最为突出。然后对各种颜色的保值率进行分析,通过观察图表,可以发现不同颜色车型之间的保值率存在显著差异。例如,绿色车型的保值率最高,接近90%,而其他颜色的车型则相对较低。这可能与市场需求、品牌知名度等因素有关。此外,图表还显示了某些颜色车型之间存在明显的保值率差距。例如,黄色和橙色车辆的保值率远低于其他颜色车辆,这可能是因为这两种颜色的车辆。。。

图4-9 颜色分析界面
4.2.9 价格预测
在价格预测功能中,我们首先运用随机森林算法来评估影响二手车保值率的多个因素。如图4-10所示,车龄、原价、品牌和行驶里程被认为是对二手车保值率影响较大的几个重要变量。因此,消费者在购买二手车时应当特别关注这些指标。
用户输入车辆的品牌、原价、车龄、马力、行驶里程、排量等详细信息后,系统会采用决策树算法来计算该车辆的预计保值率和当前市场价值。这一数据可以作为买家参考的重要依据,帮助他们做出更明智的购车决策。

图4-10 价格预测界面
4.2.11 用户个人信息
在设计用户个人信息界面时,如图4-11所示,系统应致力于打造一个清晰且高效的用户体验。该界面将集成展示用户的各类基本信息,包括但不限于姓名、电子邮箱、联系电话、个人头像以及附加备注等字段。用户可通过此界面轻松浏览自己的信息档案,并能够随时进行必要的更新和调整,确保信息的实时性和准确性。此外,系统还提供了头像上传功能,允许用户根据个人喜好定制头像,增添个性化元素。

图4-11 用户个人信息功能界面
4.2. 修改密码
在修改密码功能中,用户首先需要提供当前的原始密码,以及他们希望设定的新密码和对新密码的确认输入。系统会对以下情况进行校验:
原始密码校验:如果用户输入的原始密码不正确,系统会显示提示信息“原始密码输入错误”,以提醒用户检查并重新输入正确的当前密码。
新密码一致性校验:当用户输入的新密码与确认新密码不匹配时,系统将显示“两次输入不一致”的提示,要求用户再次核对并确保两次输入的新密码相同。
成功提示及重定向:一旦用户成功输入所有必要的信息且符合要求,系统会显示“修改密码成功”的提示,之后将自动导航到登录页面,要求用户使用新密码重新登录。
整个流程旨在确保用户能够安全、无误地更新他们的密码,并且立即应用新的安全设置。

图4-12 修改密码功能界面
4.3 管理员功能实现
4.3.1 用户管理功能
在用户管理功能模块中,管理员拥有全面的权限来查看和管理所有用户的详细信息。这包括了用户的姓名、用户名、电子邮箱地址、联系电话、账户状态以及分配给用户的角色等关键信息。
除了查看用户信息外,管理员还具备一系列的管理操作权限:
- 新增用户:管理员可以添加新用户,为他们设置初始的登录凭据和个人信息。
- 编辑用户:管理员可以随时更新或更正用户的信息,确保数据的时效性和准确性。
- 启用/停用用户:管理员可以控制用户的账号状态,即启用或暂停用户的访问权限。
- 删除用户:当需要的时候,管理员可以从系统中彻底移除某个用户的所有信息和访问权限。
通过这些功能,管理员能够高效地维护用户数据的安全性和完整性,同时确保系统的访问权限得到恰当的管理和控制。

图4-13 用户管理页面
图4-14 用户修改页面4.3.2 数据获取功能
管理员只需输入开始页码和结束页码,便可轻松启动数据抓取流程。一旦开始,系统将自动激活后台爬虫程序进行工作。爬取任务开始后,相应的日志信息会实时更新并显示在界面上,用户可以点击刷新按钮查看目前的爬取进去,便于管理员即时跟踪和监控爬取过程。
此外,为了方便管理和审查过往的数据爬取活动,系统还提供了一套完善的日志管理工具。通过这个功能,管理员可以查阅历史爬取日志,确保对数据收集的历史记录有完整的掌握和回顾能力。这样的设计旨在提高系统的透明度,同时为管理员提供强大的数据管理和维护能力。

图4-7 爬取车源信息数据界面
4.3.3 爬取日志功能
在爬取日志功能中,管理员能够轻松查阅到历史数据爬取的详尽记录。每条记录都涵盖了以下关键信息:
- 编号:爬虫任务编号
- 用户:标明了执行该爬取任务的操作员身份。
- 爬取开始时间与结束时间:记录了每次爬取过程的确切时间范围。
- 爬取状态:指示了爬取任务的结果,如“执行成功”、“执行失败”。
- 爬取数据地址:提供了被爬取网站或数据源的准确链接。
- 页码:显示了本次爬取用户所选择的页码。
为了进一步细化日志查阅体验,管理员还可以点击“详情”按钮,展开查看具体的日志内容。

图4-8 用户查看车源信息数据界面
5 系统测试
5.1 测试目的
该毕业设计的目的是确保“基于爬虫的二手车信息数据可视化系统”的构建和实施能够高效和精确地汇集二手车市场的信息,并且将这些信息通过用户友好的交互界面展现给最终用户。这次测试的焦点是检验系统的数据爬取功能能否完整且持续更新地呈现车源资讯,同时验证数据处理过程是否确保了信息的真实性与连贯性,并且保证数据的可视化部分可以清楚地展示关键的标准和变化趋势。除此之外,系统的多项性能、稳定性和安全性将被全面地测试,确保它在高负荷的环境下仍然能够正常工作,并确保未经许可的用户数据不会被误访问。经过一系列全面的实验检测,这一系列测试主要目的是确认系统具有高可用性、高度可靠性以及实用性,从而确保毕业设计能在现实场景中发挥其应用价值并具有商业应用的可能性。
5.2 测试方法
为了保证基于爬虫技术的二手车信息可视化系统在设计和实施过程中达到预期的质量标准,决定采用分段测试的方式进行研究。首先,执行单元的测试操作以保证各种独立模块,如爬虫功能、数据处理、数据库以及可视化用户界面能够正常运行。接下来会展开集成测试,以确认在各个模块联合工作时的整体功能表现。在对生产环境进行模拟的同时,系统测试也会执行,以保证系统的整体性能符合标准。性能测试将在各种不同负载环境下执行,目的是为了衡量系统响应的快速性与稳定性,同时安全性测试的重点则是对系统数据保护功能的确认。在最后阶段,用户将进行测试(UAT),目标受众将负责这个测试,以衡量系统的实用程度和用户体验,并确保系统的各项指标都能满足设计和用户的预期需求。经由这套全面的测试方法,可以确信系统的稳健性及其高效性都能得到完整的维护。
5.3 测试内容
对于“基于爬虫的二手车信息数据可视化系统”的毕业项目,本次测试主要围绕以下几个关键领域展开:首先是爬虫的性能测试,这包括了对特定网站数据的采集技巧、对抗爬虫机制的稳健性以及数据抓取的准确度和连续性。再者,对数据处理的能力进行实验验证,确保数据的清洗、转化以及存储流程是准确无误的,保障其存储的准确性。即将进行数据可视化功能的检测,检验不同的数据集呈现的效能,图表与交互元素的响应快慢,还有用户界面的亲近度。另外,为保证系统在处理大规模数据时仍保持响应迅速和平稳的操作,也需要进行全面的系统性能检测。安全检测同样值得重视,它评估系统在应对数据泄漏和未获授权的访问行为时的保护能力。最终,在用户体验的检验中,将模仿实际用户的行为并整合他们的反馈,以全面评估系统的用户友好性及其满意度。综合这些测试项目,可以确保整体系统的可靠性、效率和用户友好性都得到保障,以满足设计的期望和用户的需求。
5.3.1 登录功能测试
基于爬虫的二手车信息数据可视化系统的设计与实现用户登录功能测试用例表如表5-1所示。
表5-1 登录功能测试用例表
|
功能 |
操作 |
预期结果 |
实际结果 |
是否通过 |
|
登录功能 |
输入不存在的用户名 |
未登录成功,页面不跳转,提示信息为“xxx登录失败” |
与预期结果相同 |
通过 |
|
输入不正确的密码 |
未登录成功,页面不跳转,提示信息为“xxx登录失败” |
与预期结果相同 |
通过 |
|
|
输入正确用户名和密码 |
登录成功,页面跳转到主页面 |
与预期结果相同 |
通过 |
5.3.2 注册功能测试
表5-2 注册功能测试用例表
|
模块名称 |
测试用例 |
预期结果 |
实际结果 |
是否通过 |
|
注册功能 |
输入已存在的用户名进行注册 |
提示“该账号已注册”,页面不进行跳转 |
与预期结果相同 |
通过 |
|
注册功能 |
密码和确认密码输入不一致 |
提示“确认密码输入不正确”,页面不跳转 |
与预期结果相同 |
通过 |
|
注册功能 |
输入未存在的账号,密码和确认密码输入一致 |
提示“注册成功”,跳转到登录页面 |
与预期结果相同 |
通过 |
5.3.3 数据可视化功能测试
表5-3 数据可视化功能测试用例表
|
模块名称 |
测试用例 |
预期结果 |
实际结果 |
是否通过 |
|
数据可视化 |
选择所在城市等查询条件 |
数据跟着查询条件所变化 |
数据跟着查询条件所变化 |
通过 |
通过对功能的测试,基于爬虫的二手车信息数据可视化系统的设计与实现基本功能都是可行的,不管是系统里面的功能,还是界面的设计都是可值得推广宣传的。
6 结 论
6.1 设计评价
略
6.2 改进要求及目标
略
更多推荐


所有评论(0)