博主介绍✌全网粉丝50W前互联网大厂软件研发、集结硕博英豪成立软件开发工作室专注于计算机相关专业项目实战6年之久累计开发项目作品上万套。凭借丰富的经验与专业实力已帮助成千上万的学生顺利毕业选择我们就是选择放心、选择安心毕业✌ 想要获取完整文章或者源码或者代做拉到文章底部即可与我联系了。点击查看作者主页了解更多项目感兴趣的可以先收藏起来点赞、关注不迷路大家在毕设选题项目以及论文编写等相关问题都可以给我留言咨询希望帮助同学们顺利毕业 。1、毕业设计2026年计算机专业毕业设计选题汇总建议收藏✅2、最全计算机大数据专业毕业设计选题大全建议收藏✅1、项目介绍技术栈python语言、django框架、mysql数据库、vue框架、scrapy爬虫、echarts可视化、懂车帝网数据、html功能模块数据采集与管理模块核心查询与详情模块可视化分析模块汽车详情信息页面汽车数据分析页面首页条件选车数据可视化分析销量榜单分析差评榜单分析注册登录后台数据管理项目介绍本项目依托python语言开发采用django搭配vue构建前后端分离架构以mysql存储数据通过scrapy爬虫从懂车帝获取汽车相关信息借助echarts实现可视化展示。系统具备条件选车、车型详情查看、销量与投诉数据分析、榜单展示等功能同时配有登录权限与后台数据管理功能能够为用户和行业人员提供直观全面的汽车市场数据参考与决策支持。2、项目界面1汽车详情信息页面该页面是新能源汽车数据分析系统的车型详情分析页面左侧提供条件选车、销量榜单、差评榜单、可视化分析等功能入口页面展示车型基本信息、评分雷达图、质量问题词云及故障类型时间趋势等内容可直观呈现车型口碑与质量问题情况。2汽车数据分析—销量走势、销量排名曲线、投诉走势等等该页面是新能源汽车数据分析系统的可视化分析页面左侧设有条件选车、销量榜单、差评榜单、可视化分析等功能导航栏页面依次展示投诉量走势图、销量走势图、销量排名走势图可直观呈现车型投诉、销量及排名的月度变化趋势。3首页----按条件选车该页面是新能源汽车数据分析系统的条件选车页面左侧设有条件选车、销量榜单、差评榜单、可视化分析等功能导航栏页面上方提供关键词搜索、品牌、价格、车型等多维度筛选条件下方以卡片形式展示符合条件的车型信息包含车型名称、评分、价格等内容支持按不同维度排序浏览。4数据可视化分析----降价排行榜、汽车品牌分布、价格分布分析该页面是新能源汽车数据分析系统的可视化分析页面左侧设有条件选车、销量榜单、差评榜单、可视化分析等功能导航栏页面依次展示车型价格横向条形图、汽车品牌数量环形饼图、价格范围数量柱状图可直观呈现车型价格、品牌分布及价格区间的车系数量情况。5销量榜单分析该页面是新能源汽车数据分析系统的销量榜单页面左侧设有条件选车、销量榜单、差评榜单、可视化分析等功能导航栏页面上方支持按月份筛选下方以列表形式展示对应月份的新能源汽车销量排名包含车型图片、名称、价格、评分、销量等信息直观呈现各车型的市场销量表现。6差评榜单—质量、服务、其他该页面是新能源汽车数据分析系统的差评榜单页面左侧设有条件选车、销量榜单、差评榜单、可视化分析等功能导航栏页面上方支持按月份和问题类型筛选下方以列表形式展示对应条件下的车型差评排名包含车型图片、名称、价格、评分、问题数及各类问题标签直观呈现各车型的投诉与口碑情况。7汽车详情页面该页面是新能源汽车数据分析系统的车型详情分析页面左侧设有条件选车、销量榜单、差评榜单、可视化分析等功能入口页面展示车型基本信息、综合评分雷达图、质量问题标签、质量问题词云等内容可直观呈现车型的综合评分、故障问题与口碑情况。8注册登录该页面是新能源汽车数据分析系统的登录页面以淡紫渐变背景呈现中间设有账号和密码输入框搭配渐变色登录按钮同时提供注册入口用于用户身份验证验证通过后可进入系统后台保障系统访问安全。9后台数据管理该页面是新能源汽车数据分析系统的后台管理车系管理页面顶部为导航栏左侧设有数据管理等功能菜单页面提供多条件搜索、添加删除等操作以表格形式展示车系图片、品牌、价格、评分等详细信息支持批量操作与数据管理保障系统数据维护。3、项目说明一、技术栈简要说明本项目以Python为核心开发语言采用Django搭建后端服务Vue构建前端交互界面MySQL数据库负责数据存储通过Scrapy爬虫框架抓取懂车帝平台汽车数据结合Echarts实现图表可视化展示同时运用HTML完成页面基础布局形成完整的前后端分离开发体系。二、功能模块详细介绍数据采集与管理模块借助Scrapy爬虫定向采集懂车帝的车型、销量、价格、投诉及差评等数据由MySQL统一存储后台支持数据的增删改查与异常数据清洗搭配注册登录功能实现用户权限管控保障系统数据安全与规范。首页条件选车模块作为系统入口页面提供品牌、价格、车型等多维度筛选与关键词搜索功能以卡片形式展示匹配车型信息支持排序浏览方便用户快速定位目标车型。汽车详情信息模块展示车型基础信息、综合评分、故障问题标签与词云等内容通过评分雷达图直观呈现车型口碑让用户全面了解车型优缺点。汽车数据分析模块以折线图形式呈现销量走势、销量排名曲线及投诉量变化趋势清晰反映车型市场表现与质量问题的时间变化规律。数据可视化分析模块通过条形图、饼图、柱状图展示降价排行、品牌占比与价格区间分布直观呈现汽车市场整体结构特征。销量榜单分析模块支持按月份筛选查看车型销量排名以列表形式展示车型图片、价格、销量等信息清晰呈现各车型市场销量表现。差评榜单分析模块可按月份与问题类型筛选展示车型差评排名标注质量、服务等问题标签直观反映车型口碑短板。注册登录模块采用简洁渐变设计提供账号密码输入与注册跳转功能完成用户身份验证实现系统访问权限控制。后台数据管理模块具备数据搜索、新增、删除与批量操作能力以表格形式管理车系信息方便管理员维护系统数据。三、项目总结本系统构建了集数据采集、查询、可视化分析与后台管理于一体的汽车数据服务平台通过多技术栈协同实现从数据获取到直观展示的全流程覆盖。系统可满足普通用户选车参考、行业人员市场分析等不同需求通过可视化图表降低数据理解难度后台管理保障数据稳定可靠为汽车市场研究、购车决策提供了实用且高效的量化工具具备较强的实际应用价值。4、核心代码fromdjango.shortcutsimportrenderfromdatetimeimportdatetime,timedeltafrom.modelsimport*fromdjango.http.responseimportJsonResponsefromitertoolsimportgroupbyfrom.modelsimport*importjsonfromdjango.http.responseimportHttpResponsefromdjango.shortcutsimportrenderfromdjango.httpimportJsonResponsefrompyechartsimportoptionsasoptsfrompyecharts.chartsimportMap,Grid,Bar,Line,Pie,WordCloud,Radar,Timelinefrompyecharts.fakerimportFakerfrompyecharts.commons.utilsimportJsCodefrompyecharts.options.charts_optionsimportMapItemfromdatetimeimportdatetime,timefromdjango.core.paginatorimportPaginatorfromdjango.db.modelsimportQ,Ffrompyecharts.globalsimportSymbolTypefromdjango.db.modelsimportSum,Count,Max,Min,AvgfromcollectionsimportCounterfromrequests_htmlimportrequestsfromitertoolsimportchainfromfunctoolsimportlru_cachedefto_dict(l,excludetuple(),singleFalse):# 将数据库模型 变为 字典数据 的工具类函数deftransform(v):ifisinstance(v,datetime):returnv.strftime(%Y-%m-%d %H:%M:%S)returnvdef_todict(obj):j{k:transform(v)fork,vinobj.__dict__.items()ifnotk.startswith(_)andknotinexclude}returnjifsingle:return_todict(l)return[_todict(i)foriinl]defcar_rank(request):bodyrequest.jsonidbody.get(id)return_car_rank(id)lru_cache()def_car_rank(id):# 获取当前日期及1年前的日期todaydatetime.now().date()one_year_agotoday-timedelta(days365)# 设置查询条件qQ(month__gteone_year_ago.strftime(%Y%m),month__ltetoday.strftime(%Y%m))result(CarSale.objects.filter(q).values(series_id,series_name).annotate(total_salesSum(rank_value)).filter(total_sales__gt0).order_by(-total_sales))sales_ranknext((ifori,einenumerate(result,start1,)ife[series_id]int(id)),-1,)# ---------# 获取当前日期及1年前的日期qQ(stime__gteone_year_ago.strftime(%Y-%m-%d),stime__ltetoday.strftime(%Y-%m-%d),)result(CarIssue.objects.filter(q).values(series_id,series_name).annotate(total_issuesSum(count)).filter(total_issues__gt0).order_by(-total_issues))issue_ranknext((ifori,einenumerate(result,start1,)ife[series_id]int(id)),-1,)returnJsonResponse(dict(sales_ranksales_rank,issue_rankissue_rank))defcar_sales_rank(request):# 获取请求体中的数据bodyrequest.json# 获取请求体中的月份monthbody.get(month)# 定义查询条件qQ()# 根据月份设置查询条件ifmonth1y:# 获取当前日期及1年前的日期todaydatetime.now().date()one_year_agotoday-timedelta(days365)# 设置查询条件qQ(month__gteone_year_ago.strftime(%Y%m),month__ltetoday.strftime(%Y%m))elifmonth6m:# 近半年即6个月todaydatetime.now().date()half_year_agotoday-timedelta(days365//2)# 设置查询条件qQ(month__gtehalf_year_ago.strftime(%Y%m),month__ltetoday.strftime(%Y%m))else:qQ(monthmonth)# 统计各个车系一年内的总销量并按照销量进行排序和排名result(CarSale.objects.filter(q).values(series_id,series_name).annotate(total_salesSum(rank_value)).order_by(-total_sales))# 对结果进行排名result_listlist(result)fori,iteminenumerate(result_list):item[sales_rank]i1# 分页处理数据pagesizebody.get(pagesize,20)page_numbody.get(page,1)paginatorPaginator(result_list,pagesize)# 创建Paginator对象pagepaginator.get_page(page_num)# 获取指定页码的数据resultlist(page.object_list)# 获取每个车系的详细信息并将其添加到结果中foriinresult:car_seriesto_dict([CarSeries.objects.get(series_idi[series_id])])[0]i.update(**car_series)# 返回分页后的结果returnJsonResponse({total:paginator.count,records:result})defcar_issue_rank(request):bodyrequest.json stimebody.get(stime)typebody.get(type)qQ()ifstime1y:# 获取当前日期及1年前的日期todaydatetime.now().date()one_year_agotoday-timedelta(days365)qQ(stime__gteone_year_ago.strftime(%Y-%m-%d),stime__ltetoday.strftime(%Y-%m-%d),)elifstime6m:# 近半年即6个月todaydatetime.now().date()half_year_agotoday-timedelta(days365//2)qQ(stime__gtehalf_year_ago.strftime(%Y-%m-%d),stime__ltetoday.strftime(%Y-%m-%d),)else:qQ(stimestime)iftype:qQ(typetype)# 统计各个车系一年内的总问题数并按照问题数进行排序和排名result(CarIssue.objects.filter(q).values(series_id,series_name).annotate(total_issuesSum(count)).order_by(-total_issues))# 对结果进行排名result_listlist(result)fori,iteminenumerate(result_list):item[issues_rank]i1# 分页处理数据pagesizebody.get(pagesize,20)page_numbody.get(page,1)paginatorPaginator(result_list,pagesize)# 创建Paginator对象pagepaginator.get_page(page_num)# 获取指定页码的数据resultlist(page.object_list)foriinresult:car_seriesto_dict([CarSeries.objects.get(series_idi[series_id])])[0]counterCounter()forxinCarIssue.objects.filter(q,series_idi[series_id]).values_list(dxwt,flatTrue):counter.update(dict([(j[ctiTitle],j[count])forjinx]))i[issues]counter.most_common(10)i.update(**car_series)returnJsonResponse({total:paginator.count,records:result})defget_detail(request):bodyrequest.jsonidbody.get(id)oCarSeries.objects.get(pkid)oto_dict(o,singleTrue)o[brand]to_dict(Brand.objects.get(brand_ido[brand_id]),singleTrue)returnJsonResponse(o)defcar_360_color_pic(request):bodyrequest.jsonidbody.get(id)try:color_pic_listrequests.get(fhttps://www.dongchedi.com/motor/pc/car/series/car_360_color_pic?aid1839app_nameauto_web_pcseries_id{id}).json()[data][color_pic_list]except:color_pic_list[]returnJsonResponse(color_pic_list,safeFalse)5、源码获取方式