当前位置: 首页 > news >正文

计算机毕业设计 基于Hadoop豆瓣电影数据可视化分析设计与实现 Python 大数据毕业设计 Hadoop毕业设计选题【附源码+文档报告+安装调试

 博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python、大数据、人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
————————————————
计算机毕业设计《1000套》✌

Python毕设精品项目✌

微信小程序毕设精品项目✌

大数据及机器学习毕设精品项目✌

PS:Java、Python、大数据、机器学习等,可以用源码,或者定制开发!


目录

1、项目介绍及开发技术 

1.1 项目介绍

1.2 开发技术

2、系统功需求分析

3、系统总体设计 

3.1 系统体系结构设计

3.2 系统总体流程设计

3.3 系统功能模块设计

4、系统实现截图 

4.1 数据采集模块

4.2 用户管理模块

4.3 电影信息展示模块

4.4 动作电影展示模块

4.5 动漫信息展示模块

4.6 电影资讯展示模块

4.7 可视化驾驶舱模块

5、关键代码 

6、源码获取 


1、项目介绍及开发技术 

1.1 项目介绍

       本研究主要围绕豆瓣电影数据展开,旨在构建一套完整的数据可视化分析体系。利用Python爬虫技术从豆瓣电影网站采集数据,通过合理设置请求头、控制请求频率等方式绕过反爬机制,获取电影名称、评分、评论等丰富信息。采集后,运用数据处理技术,借助Pandas库对原始数据进行清洗、转换和整合,如去除重复数据、处理缺失值、统一数据格式等,提升数据质量。接着,使用数据可视化技术,将处理后的数据转化为直观的图表、图形,如用柱状图展示不同类型电影数量对比,折线图呈现电影评分随时间的变化趋势,为电影爱好者、从业者和学术研究者提供有力的数据支持,帮助其挖掘数据价值,辅助决策和研究。

1.2 开发技术

       本项目“基于Python的豆瓣电影数据可视化分析设计与实现”旨在构建一个集数据采集、存储、分析与可视化于一体的电影数据智能分析平台。系统以豆瓣电影网站为数据源,通过Python编写爬虫模块,结合Hadoop分布式框架对海量电影数据进行高效存储与处理,利用MySQL实现结构化数据管理,后端采用Django框架提供稳定的数据接口和业务逻辑支持,前端基于Vue.js构建响应式页面,实现交互式图表展示与数据可视化分析。

序号技术名称类型版本/备注用途描述
1Python编程语言Python 3.7.7广泛用于Web开发、数据科学、AI等领域
2DjangoWeb框架Django2.0高级Web框架,用于快速开发Web应用
3FlaskWeb框架Flask2.0.0轻量级Web框架,适合小型项目
4Scrapy爬虫框架Scrapy2.9.0用于编写爬虫程序,快速抓取网页数据
5Hadoop大数据处理分布式存储和计算框架,适合大数据存储和处理
6Spark大数据处理pyspark3.3.2快速、通用的集群计算系统
7MySQL数据库MySQL5.7+关系型数据库,用于存储和管理数据
8Navicat数据库管理工具Navicat11+数据库管理和开发工具,支持多种数据库
9DataGrip数据库管理工具强大的数据库管理工具,支持多种数据库
10PyCharm开发环境Pycharm2021Python IDE,提供代码编辑、调试等功能
11VSCode开发环境VSCode1.15.1轻量级但功能强大的代码编辑器
12Node.js服务器端JS环境Node 14.15.0用于构建高性能的服务器端和网络应用

2、系统功需求分析

(1)数据采集模块加工内部图

加工的内部图是对0层图中各个加工的详细分解,它展示了每个加工的具体处理步骤和数据流动。以数据采集模块为例,其加工的内部图(图2-1)如下。首先,爬虫程序根据设定的URL规则,向豆瓣电影网站发送HTTP请求,获取网页的HTML源代码。然后,使用解析器(如BeautifulSoup或XPath)对HTML源代码进行解析,提取出电影的相关信息,如电影名称、导演、主演、评分等。接着,对提取到的数据进行初步清洗,去除一些明显的噪声数据和错误数据。最后,将清洗后的数据存储到数据库中,以便后续的数据处理和分析。

图2-1 数据采集模块加工内部图

(2)数据处理模块加工内部图

对于数据处理模块,其加工的内部图(图2-2)主要包括数据清洗、数据转换和数据分析等步骤。在数据清洗阶段,通过检查数据的完整性、一致性和准确性,去除重复数据、处理缺失值和异常值。例如,使用Pandas库的drop_duplicates()方法去除重复的电影记录,使用fillna()方法填充缺失的评分数据。在数据转换阶段,将数据转换为适合分析的格式,如将电影的上映日期转换为日期类型,将评分数据标准化到0到1之间的范围。在数据分析阶段,运用各种统计分析方法和机器学习算法,对电影数据进行多维度的分析,如计算电影的平均评分、分析不同类型电影的受欢迎程度、预测电影的票房收入等。

图2-2 数据处理模块加工内部图

(3)数据可视化模块加工内部图

数据可视化模块的加工内部图(图2-3)主要展示了如何将处理后的数据转换为可视化图表。首先,根据分析需求选择合适的可视化工具和图表类型,如使用Matplotlib绘制柱状图、折线图,使用Seaborn绘制热力图、小提琴图等。然后,对图表进行个性化设置,包括添加标题、坐标轴标签、图例等,以提高图表的可读性和美观性。最后,将生成的可视化图表展示给用户,用户可以通过交互操作(如缩放、平移、点击等)查看详细的数据信息。

图2-3 数据可视化模块加工内部图

(4)运行环境需求

1.硬件环境

(1)CPU:Intel Core i5 及以上处理器(或同等性能的 AMD 处理器);

(2)内存:8GB;

(3)硬盘空间:50GB可用硬盘空间;

(4)显卡:普通集成显卡。

2.软件环境

(1)开发系统:Windows 10;

(2)开发平台:PyCharm 2022.1;

(3)浏览器:Chrome 91;

(4)数据库:MySQL 8.0;

(5)数据分析:Python 3.7 及以上版本,以及相关的数据分析库,Pandas 1.5.3、NumPy 1.23.5、Matplotlib 3.6.2、Seaborn 0.12.2、TextBlob 0.17.1、Scikit-learn 1.1.1;

(6)前端框架:Vue2。

3、系统总体设计 

3.1 系统体系结构设计

本系统采用分层架构设计,主要包括数据采集层、数据处理层、数据分析层和数据展示层,各层之间相互协作,共同完成豆瓣电影数据的采集、处理、分析和可视化展示任务,确保系统的高效运行和可扩展性。系统体系结构图示例如图3-1所示。

图3-1 系统体系结构图

3.2 系统总体流程设计

系统的总体流程涵盖了数据采集、清洗、分析和可视化展示的全过程,各环节紧密相连,协同工作,确保能够从豆瓣电影网站获取原始数据,并将其转化为有价值的可视化信息呈现给用户。系统总体流程图如图3-2所示:

图3-2 系统业务流程图

3.3 系统功能模块设计

数据采集包括:获取URL、响应内容、数据提取、数据清洗、数据持久化等。

数据分析与展示:动作电影信息、电影详细信息、电影评分、评论分析、电影标签、词云展示、电影类型分析、语言分析。

系统数据功能模块图示例如图3-3所示。

图3-3 系统数据功能模块图

系统功能模块图示例如图3-4所示。

图3-4 系统功能模块图

4、系统实现截图 

4.1 数据采集模块

在数据清洗后,将清洗后的数据打印输出或查看存储数据的结构(如DataFrame)。使用数据库管理工具(如MySQLWorkbench)连接数据库,查询存储电影数据的表。如图4-1所示。

图4-1 已存储数据展示

4.2 用户管理模块

(1)用户注册

用户在系统首页点击“注册”按钮,进入注册页面(见4-2用户注册界面截图),需填写用户名、密码、确认密码和邮箱等信息,如输入“testuser”“testpassword”“testpassword”“test@example.com”。点击“注册”后,前端将数据传至后端服务器。后端会验证数据,用正则表达式检查邮箱格式,查询用户表判断用户名是否已存在。若数据通过验证,用户信息会插入数据库用户表,前端收到注册成功提示,用户即可登录;若验证失败,前端会收到如“用户名已存在”等错误提示,用户据此修改信息。

图4-2 用户注册界面截图

(2)用户登录

在系统首页点击“登录”按钮,进入登录页面(见4-3用户登录界面截图),用户输入注册时的用户名和密码,如“testuser”“testpassword”,点击“登录”。前端将数据发送到后端,后端在用户表中查询该用户名记录并验证密码。若查询到且密码正确,后端生成唯一令牌(Token)返回前端,前端存储令牌(如存于浏览器Cookie或LocalStorage),后续用户请求携带令牌,后端据此确认身份;若查询不到记录或密码错误,前端收到“用户名或密码错误”提示,用户需重新输入。

图4-3 用户登录界面截图

(3)用户信息管理

用户登录成功后,可在个人中心查看和管理信息(见4-4用户信息管理界面截图)。个人中心展示用户名、邮箱、注册时间等基本信息。点击“修改密码”进入修改页面,用户输入原密码、新密码和确认新密码,点击“保存”。后端收到数据后验证原密码,若正确则更新数据库密码信息,前端收到修改成功提示;若原密码错误,前端收到“原密码错误”提示,用户需重新输入。

图4-4 用户信息管理界面截图

4.3 电影信息展示模块

电影信息展示模块旨在全面呈现电影相关情况,方便用户了解。主界面(见5-4电影信息展示模块主界面截图)以列表展示多部电影的海报、名称、导演、主演、评分等简要信息。页面上方有搜索框和筛选条件,用户可通过关键词搜索,如输入“周星驰”搜索相关电影;也可按电影类型、评分范围筛选,选择“喜剧”类型且评分大于8分的电影进行查看。

图4-5 电影信息展示模块主界面截图

4.4 动作电影展示模块

动作电影展示模块为动作电影爱好者提供集中了解动作电影的平台。主界面(见4-6动作电影展示模块主界面截图)采用海报墙形式展示多部动作电影的海报、名称、评分、上映日期等信息,布局简洁美观。页面上方有分类导航和筛选条件,用户可按经典动作电影、最新动作电影、高评分动作电影分类浏览,也可根据评分范围、上映年份筛选。点击“经典动作电影”分类或设置特定筛选条件,如评分大于8分且上映年份在2010年以后,可查看相应电影信息。

图4-6 动作电影展示模块主界面截图

4.5 动漫信息展示模块

动漫信息展示模块满足动漫爱好者对动漫电影的了解需求。主界面(见4-7动漫信息展示模块主界面截图)以卡片式布局展示动漫电影的海报、名称、评分、类型等信息,充满动漫元素。页面上方的分类导航和筛选条件,支持用户按国家/地区(如日本动漫、美国动漫)、年龄段(儿童动漫、青少年动漫)分类浏览,或根据评分、上映时间筛选。点击“日本动漫”分类或设置筛选条件,如评分大于8分且适合青少年观看,可查看相应动漫电影信息。

图4-7 动漫信息展示模块主界面截图

4.6 电影资讯展示模块

电影资讯展示模块用于展示电影行业最新动态。主界面(见4-8电影资讯展示模块主界面截图)以列表形式呈现多条电影资讯,包括标题、发布时间、资讯来源等,排版清晰。页面上方的搜索框和分类导航,方便用户根据关键词搜索,如输入“复仇者联盟”搜索相关资讯;也可按新片上映、电影奖项、电影拍摄动态等分类浏览。

图4-8 电影资讯展示模块主界面截图

4.7 可视化驾驶舱模块

可视化驾驶舱模块为管理员提供深入的电影数据洞察。主界面(见4-9可视化驾驶舱模块主界面截图)采用多图表布局,展示多个维度的电影数据可视化分析结果。页面上方的时间范围选择器和数据筛选条件,方便管理员选择特定时间范围和筛选条件,如选择近一年时间范围且评分大于8分的电影,查看相应分析结果。

图4-9 可视化驾驶舱模块主界面截图

5、关键代码 

def yonghu_register(request):if request.method in ["POST", "GET"]:msg = {'code': normal_code, "msg": mes.normal_code}req_dict = request.session.get("req_dict")error = yonghu.createbyreq(yonghu, yonghu, req_dict)if error is Exception or (type(error) is str and "Exception" in error):msg['code'] = crud_error_codemsg['msg'] = "用户已存在,请勿重复注册!"else:msg['data'] = errorreturn JsonResponse(msg, encoder=CustomJsonEncoder)def yonghu_login(request):if request.method in ["POST", "GET"]:msg = {'code': normal_code, "msg": mes.normal_code}req_dict = request.session.get("req_dict")datas = yonghu.getbyparams(yonghu, yonghu, req_dict)if not datas:msg['code'] = password_error_codemsg['msg'] = mes.password_error_codereturn JsonResponse(msg, encoder=CustomJsonEncoder)try:__sfsh__= yonghu.__sfsh__except:__sfsh__=Noneif  __sfsh__=='是':if datas[0].get('sfsh')!='是':msg['code']=other_codemsg['msg'] = "账号已锁定,请联系管理员审核!"return JsonResponse(msg, encoder=CustomJsonEncoder)req_dict['id'] = datas[0].get('id')return Auth.authenticate(Auth, yonghu, req_dict)def yonghu_logout(request):if request.method in ["POST", "GET"]:msg = {"msg": "登出成功","code": 0}return JsonResponse(msg, encoder=CustomJsonEncoder)def yonghu_resetPass(request):''''''if request.method in ["POST", "GET"]:msg = {"code": normal_code, "msg": mes.normal_code}req_dict = request.session.get("req_dict")columns=  yonghu.getallcolumn( yonghu, yonghu)try:__loginUserColumn__= yonghu.__loginUserColumn__except:__loginUserColumn__=Noneusername=req_dict.get(list(req_dict.keys())[0])if __loginUserColumn__:username_str=__loginUserColumn__else:username_str=usernameif 'mima' in columns:password_str='mima'else:password_str='password'init_pwd = '123456'recordsParam = {}recordsParam[username_str] = req_dict.get("username")records=yonghu.getbyparams(yonghu, yonghu, recordsParam)if len(records)<1:msg['code'] = 400msg['msg'] = '用户不存在'return JsonResponse(msg, encoder=CustomJsonEncoder)eval('''yonghu.objects.filter({}='{}').update({}='{}')'''.format(username_str,username,password_str,init_pwd))return JsonResponse(msg, encoder=CustomJsonEncoder)def yonghu_session(request):''''''if request.method in ["POST", "GET"]:msg = {"code": normal_code,"msg": mes.normal_code, "data": {}}req_dict={"id":request.session.get('params').get("id")}msg['data']  = yonghu.getbyparams(yonghu, yonghu, req_dict)[0]return JsonResponse(msg, encoder=CustomJsonEncoder)def yonghu_default(request):if request.method in ["POST", "GET"]:msg = {"code": normal_code,"msg": mes.normal_code, "data": {}}req_dict = request.session.get("req_dict")req_dict.update({"isdefault":"是"})data=yonghu.getbyparams(yonghu, yonghu, req_dict)if len(data)>0:msg['data']  = data[0]else:msg['data']  = {}return JsonResponse(msg, encoder=CustomJsonEncoder)def yonghu_page(request):''''''if request.method in ["POST", "GET"]:msg = {"code": normal_code, "msg": mes.normal_code,  "data":{"currPage":1,"totalPage":1,"total":1,"pageSize":10,"list":[]}}req_dict = request.session.get("req_dict")global yonghu#当前登录用户信息tablename = request.session.get("tablename")msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \msg['data']['pageSize']  =yonghu.page(yonghu, yonghu, req_dict, request)return JsonResponse(msg, encoder=CustomJsonEncoder)def yonghu_autoSort(request):'''.智能推荐功能(表属性:[intelRecom(是/否)],新增clicktime[前端不显示该字段]字段(调用info/detail接口的时候更新),按clicktime排序查询)
主要信息列表(如商品列表,新闻列表)中使用,显示最近点击的或最新添加的5条记录就行'''if request.method in ["POST", "GET"]:msg = {"code": normal_code, "msg": mes.normal_code,  "data":{"currPage":1,"totalPage":1,"total":1,"pageSize":10,"list":[]}}req_dict = request.session.get("req_dict")if "clicknum"  in yonghu.getallcolumn(yonghu,yonghu):req_dict['sort']='clicknum'elif "browseduration"  in yonghu.getallcolumn(yonghu,yonghu):req_dict['sort']='browseduration'else:req_dict['sort']='clicktime'req_dict['order']='desc'msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \msg['data']['pageSize']  = yonghu.page(yonghu,yonghu, req_dict)return JsonResponse(msg, encoder=CustomJsonEncoder)#分类列表
def yonghu_lists(request):if request.method in ["POST", "GET"]:msg = {"code": normal_code, "msg": mes.normal_code,  "data":[]}msg['data'],_,_,_,_  = yonghu.page(yonghu, yonghu, {})return JsonResponse(msg, encoder=CustomJsonEncoder)def yonghu_query(request):''''''if request.method in ["POST", "GET"]:msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}try:query_result = yonghu.objects.filter(**request.session.get("req_dict")).values()msg['data'] = query_result[0]except Exception as e:msg['code'] = crud_error_codemsg['msg'] = f"发生错误:{e}"return JsonResponse(msg, encoder=CustomJsonEncoder)def yonghu_list(request):'''前台分页'''if request.method in ["POST", "GET"]:msg = {"code": normal_code, "msg": mes.normal_code,  "data":{"currPage":1,"totalPage":1,"total":1,"pageSize":10,"list":[]}}req_dict = request.session.get("req_dict")#获取全部列名columns=  yonghu.getallcolumn( yonghu, yonghu)if "vipread" in req_dict and "vipread" not in columns:del req_dict["vipread"]#表属性[foreEndList]前台list:和后台默认的list列表页相似,只是摆在前台,否:指没有此页,是:表示有此页(不需要登陆即可查看),前要登:表示有此页且需要登陆后才能查看try:__foreEndList__=yonghu.__foreEndList__except:__foreEndList__=Nonetry:__foreEndListAuth__=yonghu.__foreEndListAuth__except:__foreEndListAuth__=None#authSeparatetry:__authSeparate__=yonghu.__authSeparate__except:__authSeparate__=Noneif __foreEndListAuth__ =="是" and __authSeparate__=="是":tablename=request.session.get("tablename")if tablename!="users" and request.session.get("params") is not None:req_dict['userid']=request.session.get("params").get("id")tablename = request.session.get("tablename")if tablename == "users" and req_dict.get("userid") != None:#判断是否存在userid列名del req_dict["userid"]else:__isAdmin__ = NoneallModels = apps.get_app_config('main').get_models()for m in allModels:if m.__tablename__==tablename:try:__isAdmin__ = m.__isAdmin__except:__isAdmin__ = Nonebreakif __isAdmin__ == "是":if req_dict.get("userid"):# del req_dict["userid"]passelse:#非管理员权限的表,判断当前表字段名是否有useridif "userid" in columns:try:passexcept:pass#当列属性authTable有值(某个用户表)[该列的列名必须和该用户表的登陆字段名一致],则对应的表有个隐藏属性authTable为”是”,那么该用户查看该表信息时,只能查看自己的try:__authTables__=yonghu.__authTables__except:__authTables__=Noneif __authTables__!=None and  __authTables__!={} and __foreEndListAuth__=="是":for authColumn,authTable in __authTables__.items():if authTable==tablename:try:del req_dict['userid']except:passparams = request.session.get("params")req_dict[authColumn]=params.get(authColumn)username=params.get(authColumn)breakif yonghu.__tablename__[:7]=="discuss":try:del req_dict['userid']except:passq = Q()msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \msg['data']['pageSize']  = yonghu.page(yonghu, yonghu, req_dict, request, q)return JsonResponse(msg, encoder=CustomJsonEncoder)def yonghu_save(request):'''后台新增'''if request.method in ["POST", "GET"]:msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}req_dict = request.session.get("req_dict")if 'clicktime' in req_dict.keys():del req_dict['clicktime']if yonghu.objects.filter(yonghuzhanghao = req_dict['yonghuzhanghao']).count()>0:msg['code'] = crud_error_codemsg['msg'] = "用户账号已存在"return JsonResponse(msg, encoder=CustomJsonEncoder)tablename=request.session.get("tablename")__isAdmin__ = NoneallModels = apps.get_app_config('main').get_models()for m in allModels:if m.__tablename__==tablename:try:__isAdmin__ = m.__isAdmin__except:__isAdmin__ = Nonebreak#获取全部列名columns=  yonghu.getallcolumn( yonghu, yonghu)if tablename!='users' and req_dict.get("userid")==None and 'userid' in columns  and __isAdmin__!='是':params=request.session.get("params")req_dict['userid']=params.get('id')if 'addtime' in req_dict.keys():del req_dict['addtime']idOrErr= yonghu.createbyreq(yonghu,yonghu, req_dict)if idOrErr is Exception:msg['code'] = crud_error_codemsg['msg'] = idOrErrelse:msg['data'] = idOrErrreturn JsonResponse(msg, encoder=CustomJsonEncoder)def yonghu_add(request):'''前台新增'''if request.method in ["POST", "GET"]:msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}req_dict = request.session.get("req_dict")tablename=request.session.get("tablename")if yonghu.objects.filter(yonghuzhanghao = req_dict['yonghuzhanghao']).count()>0:msg['code'] = crud_error_codemsg['msg'] = "用户账号已存在"return JsonResponse(msg, encoder=CustomJsonEncoder)#获取全部列名columns=  yonghu.getallcolumn( yonghu, yonghu)try:__authSeparate__=yonghu.__authSeparate__except:__authSeparate__=Noneif __authSeparate__=="是":tablename=request.session.get("tablename")if tablename!="users" and 'userid' in columns:try:req_dict['userid']=request.session.get("params").get("id")except:passtry:__foreEndListAuth__=yonghu.__foreEndListAuth__except:__foreEndListAuth__=Noneif __foreEndListAuth__ and __foreEndListAuth__!="否":tablename=request.session.get("tablename")if tablename!="users":req_dict['userid']=request.session.get("params").get("id")if 'addtime' in req_dict.keys():del req_dict['addtime']error= yonghu.createbyreq(yonghu,yonghu, req_dict)if error is Exception:msg['code'] = crud_error_codemsg['msg'] = errorelse:msg['data'] = errorreturn JsonResponse(msg, encoder=CustomJsonEncoder)

摘  要    1
Abstract    2
第1章 绪  论    3
1.1研究的目的与意义    3
1.2国内外研究现状及发展趋势    4
1.3相关技术介绍    4
1.4研究内容及论文结构    5
第2章 系统需求分析    7
2.1可行性分析    7
2.2需求分析    9
2.3运行环境需求    16
2.4本章小结    16
第3章 系统设计    18
3.1系统体系结构设计    18
3.2系统总体流程设计    18
3.3系统功能模块设计    23
3.4数据采集与预处理    24
3.5本章小结    25
第4章 系统实现    26
4.1数据采集模块的实现    26
4.2数据分析与展示模块的实现    27
4.3本章小结    35
第5章 系统测试    36
5.1测试方法    36
5.2功能测试    36
5.3测试用例分析    37
5.4本章小结    37
结  论    39
参考文献    40

 更多源码:

计算机毕业设计选题1000套等你来!!!

Python毕设精品项目

微信小程序毕设精品项目  

大数据及机器学习毕设精品项目 

6、源码获取 

感谢大家的阅读,如有不懂的问题可以评论区交流或私聊!

喜欢文章可以点赞、收藏、关注、评论

下方联系方式扫描获取源码


文章转载自:

http://CN2aFCna.wkLmj.cn
http://tZBflck3.wkLmj.cn
http://41scxryW.wkLmj.cn
http://yNHEIQuk.wkLmj.cn
http://2EV0lnpC.wkLmj.cn
http://8WB3zEjn.wkLmj.cn
http://Zl76vqML.wkLmj.cn
http://GYlevZcx.wkLmj.cn
http://Ied7x5LS.wkLmj.cn
http://I8r7lA09.wkLmj.cn
http://YGVoYCDL.wkLmj.cn
http://NcTyJtvI.wkLmj.cn
http://cpUftz1F.wkLmj.cn
http://6C1eaigp.wkLmj.cn
http://85cZXrpY.wkLmj.cn
http://hXraP184.wkLmj.cn
http://wpUtdgDP.wkLmj.cn
http://uRX0rSzH.wkLmj.cn
http://VX1SJtQB.wkLmj.cn
http://7TwhiBye.wkLmj.cn
http://3O1QAZsA.wkLmj.cn
http://SAvNWBFU.wkLmj.cn
http://u03t38Ph.wkLmj.cn
http://EknOkf01.wkLmj.cn
http://kieXJZST.wkLmj.cn
http://Gp2XrhYO.wkLmj.cn
http://r0m5G2no.wkLmj.cn
http://qtgR3q9D.wkLmj.cn
http://mw4oR42O.wkLmj.cn
http://pWqiET5A.wkLmj.cn
http://www.dtcms.com/a/378319.html

相关文章:

  • 25.9.11 QTday1作业
  • unity 陶艺制作模拟
  • Unity 三维数学方法
  • 【氮化镓】GaN基半导体器件电离辐射损伤基可靠性综述
  • 音视频demo
  • 相机Camera日志分析之三十六:相机Camera常见日志注释
  • 250911算法练习:递归
  • 双目相机原理
  • AI教育白皮书解读 | 医学教育数智化转型新机遇,“人工智能+”行动实践正当时
  • vue3自定义无缝轮播组件
  • 【每日算法】合并两个有序链表 LeetCode
  • 瑞萨RA家族新成员RA4C1,符合DLMS SUITE2表计安全规范、超低功耗、支持段码显示,专为智能表计应用开发
  • 【maxscript】矩阵对齐-武器残影
  • Java 黑马程序员学习笔记(进阶篇4)
  • XR 和 AI 在 Siggraph 2025 上主导图形的未来,获取gltf/glb格式
  • TikTok矩阵有哪些运营支撑方案?
  • 《基于深度学习的近红外条纹投影三维测量》-论文总结
  • 优选算法 100 题 —— 2 滑动窗口
  • MongoDB 在线安装-一键安装脚本(CentOS 7.9)
  • DeepSeek辅助编写的利用quick_xml把xml转为csv的rust程序
  • Rider中的Run/Debug配置对应的本地文件
  • 综合项目实践:基于基础语法核心的Python项目
  • 开始 ComfyUI 的 AI 绘图之旅-Flux.1图生图(八)
  • 供应商管理系统包含哪些模块?
  • MongoDB Atlas 云数据库实战:从零搭建全球多节点集群
  • Apache服务——搭建实验
  • “一半是火焰,一半是海水”,金融大模型的爆发与困局
  • 开源 C++ QT Widget 开发(十六)程序发布
  • MPC控制器C语言实现:基于一阶RL系统
  • C++版单例模式-现代化简洁写法