基于Python的电影受众群体特征分析与可视化实战
提到“基于Python的电影受众群体特征研究”这个毕设题目很多准备开题的同学第一个反应是这方向是不是太普通了我自己的看法是普通题目更容易做出完整度和深度。它把Python数据处理、统计分析、可视化、机器学习串成了一条完整的链路非常符合计算机大数据方向的综合实战要求。这篇文章就结合我自己的实操经历把这个项目从需求拆解、数据清洗、特征工程、受众分群建模、可视化看板到最后的论文撰写、部署说明和演示视频录制一次性讲透。如果你正准备做类似题目或者刚接触数据分析实战可以直接照着这个思路往下走。这个项目的核心价值不在于算法多高深而在于你能不能讲清楚电影受众到底有哪些特征这些特征怎么从数据里挖出来又怎么用图表和业务语言表达给非技术的人听。1. 项目定位与需求拆解1.1 毕设选型的思考选这个题目的原因很简单数据来源稳定分析链路清晰展示效果直观。我在选题前对比了几个方向。做电商用户画像数据往往涉及隐私拿不到完整字段做网络舆情分析数据采集成本高还要处理很多文本噪声反而是电影受众这个方向公开可用的评分数据集很多字段齐全既有用户ID、年龄、性别、职业、地区这些人口统计信息又有电影类型、评分、时间戳这些行为数据刚好把“人口属性行为偏好”结合起来非常适合做受众群体特征分析。另外这个课题有明确的业务场景。电影发行方想知道目标观众是谁视频平台想知道用户群体如何划分创作者想知道不同受众对电影类型的偏好差异。毕设论文里有了真实业务背景答辩的时候就不会被问住。1.2 功能需求与非功能需求梳理拿到题目后我没有直接写代码而是先把需求拆成了清单。功能需求分四块。第一是数据接入与预处理需要支持读取常见格式的数据文件完成去重、缺失值处理、字段类型转换。第二是受众特征分析从用户基本属性、观影行为、电影类型偏好、时间分布等角度生成可量化的指标。第三是受众分群建模用聚类算法把用户划分成不同群体并为每个群体提炼标签。第四是可视化展示生成图表和交互看板让结果可以直接被阅读。非功能需求同样重要。项目要能在普通笔记本上运行数据量在几十万条级别时不能卡顿部署步骤要足够简单论文里要写清楚环境依赖、启动命令代码要有注释关键功能要能单独执行和验证。很多同学写代码只管能跑最后写文档时完全想不起某个函数当时的逻辑这个坑我在后面讲文档撰写时还会重点说。2. 数据获取与预处理实战2.1 数据源选择与采集策略我用的是公开的电影评分数据集这类数据在很多高校的数据分析课程中都被广泛使用。数据文件里包含两个主要部分一是用户信息表包含用户ID、年龄、性别、职业、邮编等字段二是评分记录表包含用户ID、电影ID、评分、时间戳字段还有一个电影信息表包含电影ID、标题、类型等字段。三张表通过用户ID和电影ID关联。这里提一个选题时的建议尽量用结构化良好的数据不要一上来就自己写爬虫抓数据。毕设时间有限爬虫反爬、数据动态加载、脏数据清洗这些坑会消耗大量时间。我见过有同学花了三周去爬电影评论结果爬到一半发现接口变了最后数据量不足论文分析根本无从下手。如果确实想体现数据采集能力可以选一个次要数据源做补充比如从某公开API获取电影的基础信息主体数据仍用成熟数据集。数据加载的代码不太复杂但要注意路径管理。我建议把所有原始数据统一放在项目目录下的data/raw文件夹并写一个独立的加载模块不要直接在分析脚本里写死绝对路径。import pandas as pd # 读取用户信息、电影信息、评分记录 users pd.read_csv(data/raw/users.dat, sep::, headerNone, names[user_id, gender, age, occupation, zip_code]) movies pd.read_csv(data/raw/movies.dat, sep::, headerNone, names[movie_id, title, genres]) ratings pd.read_csv(data/raw/ratings.dat, sep::, headerNone, names[user_id, movie_id, rating, timestamp])如果数据集不是用分隔符分隔而是CSV只用改成pd.read_csv(xxx.csv)就行。关键是先看数据里有没有表头、有没有缺失值占位符否则读进来再清理会比较被动。2.2 数据清洗与标准化处理细节数据清洗是这个项目里最费时间、也最容易被论文评审老师追问的环节。我按照四个步骤来做。第一步是检查重复记录。评分记录表里同一用户对同一部电影的评分理论上应该只有一条如果出现多条需要保留最新的一条。ratings ratings.sort_values(timestamp).drop_duplicates( subset[user_id, movie_id], keeplast)第二步是处理缺失值和异常值。用户属性表中可能出现职业字段为空、年龄值为-1或0这类占位符。对于缺失值我选择的是直接删除或者填充“未知”而不是用均值填充。因为年龄、性别的均值会引入虚假分布。异常值方面评分应该在1到5之间超过这个范围的记录要单独检查。第三步是时间戳转换。原始时间戳是10位整数需要转换成可读时间并提取年、月、日、星期等字段用于后续分析用户观影的时间规律。ratings[timestamp] pd.to_datetime(ratings[timestamp], units) ratings[year] ratings[timestamp].dt.year ratings[month] ratings[timestamp].dt.month ratings[weekday] ratings[timestamp].dt.weekday第四步是合并表并做数据质量报告。每做一步操作我都打印一次数据的shape、缺失值数量最后生成一个简单的质量汇总表。这样写论文的时候可以直接引用数据量变化原始数据多少条清洗后多少条去重率、缺失率分别是多少全都是实打实的数字。3. 特征构建与受众画像建模3.1 受众特征维度拆解受众群体特征研究核心是回答三句话观众是谁、他们怎么看电影、他们喜欢看什么。观众是谁对应人口统计特征包括年龄段、性别、职业类型。年龄不是直接用数字而是划分成区间18岁以下、18-24岁、25-34岁、35-44岁、45-49岁、50岁以上。这样分组更符合业务观察习惯。性别的分布可以结合不同电影类型做交叉分析。职业字段则可以用编码映射成可读的类别名称。他们怎么看电影对应行为特征。每个用户的平均评分能反映这个人是挑剔型还是宽松型评分数量的多少能反映活跃程度评分的标准差能反映口味是集中还是分散。我额外加了一个指标叫“类型专注度”计算用户评分数量最多的电影类型占其总评分数的比例比例越高说明用户对某类型电影越专注。他们喜欢看什么对应内容偏好特征。把电影类型字段拆分因为一部电影可能属于多个类型。然后统计每个用户在各类型上的评分次数和平均分。注意评分次数和平均分要分开看有的用户可能对某类型只看过一两部但平均分很高这种样本量太小不能直接下结论。3.2 基于Python的特征工程与聚合统计特征工程阶段我以用户表为基准把评分表和电影表的统计信息聚合到每个用户上。首先做用户维度的聚合user_features pd.DataFrame() user_features[user_id] ratings.groupby(user_id)[rating].mean().index user_features[avg_rating] ratings.groupby(user_id)[rating].mean().values user_features[rating_count] ratings.groupby(user_id)[rating].count().values user_features[rating_std] ratings.groupby(user_id)[rating].std().fillna(0).values然后处理电影类型偏好。先使用pandas的get_dummies对电影的多类型字段做稀疏编码再通过点乘计算每个用户在每种类型上的累计评分次数最后除以总评分次数得到偏好比例。# 拆分电影类型 movies[genres] movies[genres].str.split(|) movie_genre movies.explode(genres) movie_genre pd.get_dummies(movie_genre.set_index(movie_id)[genres], prefixgenre).reset_index() # 关联评分和类型标签 user_genre ratings[[user_id, movie_id]].merge(movie_genre, onmovie_id, howleft) genre_score user_genre.groupby(user_id)[user_genre.columns[2:]].sum()这个环节有个容易被忽略的问题get_dummies会生成几十个类型列导致特征维度变高。如果后续要直接喂给聚类模型最好先做标准化或者用主成分分析降维。我在这一步没有直接降维而是用“偏好类型Top3”作为解释性标签把连续矩阵转换成可读的画像特征后面聚类时只选择少量核心特征。3.3 受众分群模型的选型与调参受众分群我用的方法是K-Means聚类。选择K-Means而不是DBSCAN或层次聚类主要是因为它实现简单、可解释性强而且数据量在几十万量级时运行速度很快。缺点是需要预先指定K值对初始质心敏感但可以通过肘部法则加多次随机初始化来缓解。聚类特征我选择了年龄区间编码、平均评分、评分数量、评分标准差、类型偏好Top3的占比共5到8个维度。在送入算法之前用StandardScaler做标准化避免评分标准差和评分数量因为量纲不同而主导距离计算。确定K值的关键代码from sklearn.cluster import KMeans from sklearn.preprocessing import StandardScaler import matplotlib.pyplot as plt X StandardScaler().fit_transform(cluster_features) inertia [] for k in range(2, 11): model KMeans(n_clustersk, random_state42, n_init10) model.fit(X) inertia.append(model.inertia_) plt.plot(range(2, 11), inertia, markero) plt.xlabel(K) plt.ylabel(Inertia) plt.show()我最终选择的K值是5。原因是K5时每个群体都有足够样本量而且群体之间的特征差异在业务上解释得通。我总结出了五类受众活跃高评分型、活跃低评分型、低频谨慎型、年轻类型偏好型、中年均衡型。这里分享一个调参经验不要只看轮廓系数还要结合群体样本量占比。如果某个群体样本量只有几百人即使统计指标很好看也没法支撑业务结论。4. 可视化分析与结果呈现4.1 分析维度与图表设计可视化是这个项目最容易出彩的部分也是答辩时老师停留最久的部分。我依照论文的分析章节设计了四组图表。第一组是人口统计概览。用柱状图展示不同年龄段的用户数量、不同性别的评分分布用箱线图展示不同职业类别的平均评分差异。这组的目的是回答“受众是谁”。第二组是评分行为分布。用直方图展示评分数值的整体分布用折线图展示热度逐年变化另外画了一个每个年龄段的评分均值和方差组合图观察是否越年轻的用户评分方差越大。第三组是电影类型偏好。用横向条形图展示不同类型的人均评分次数用热力图展示年龄段与电影类型之间的偏好关系。热力图的效果很好横向是年龄区间纵向是电影类型颜色越深表示偏好比例越高。第四组是受众分群结果。可以用雷达图展示每个群体的特征雷达也可以用散点图展示聚类后的分布。雷达图的好处是直观五个群体五个颜色一眼就能看出差异。4.2 交互式可视化看板搭建静态图片用于论文但演示的时候交互看板更有冲击力。我选了Plotly加Flask的组合没有用过于复杂的前端框架。Plotly Express几行代码就能生成交互图表Flask负责把图表嵌入页面并支持下拉筛选。看板包含两个页面。第一个页面是全局概览顶部放三个指标卡总用户数、总评分数、平均评分下面是一排图分别展示年龄分布、性别比例、评分分布。第二个页面是群体分析提供一个下拉框选择不同受众群体后页面动态展示该群体的特征和偏好类型Top5。部署时所有静态资源放在Flask的templates和static目录。核心逻辑是在Python脚本里用Plotly生成JSON格式的图表配置然后渲染到HTML模板中。这里不推荐直接保存静态HTML因为你想在答辩时动态切换参数通过Flask调用会比较灵活。5. 项目交付物文档、部署与演示视频5.1 毕业设计文档LW撰写框架很多同学把“LW”理解成走个过场的文字材料其实不是。论文是你整个项目逻辑的书面化表达答辩老师没有耐心看几十页代码他们主要通过论文判断你懂不懂自己的项目。我的论文框架遵循了软工类毕业论文的标准结构第一章是绪论写研究背景、国内外研究现状、研究目标和内容。第二章是相关技术介绍写Python生态、Pandas、Scikit-learn、可视化工具。第三章是系统需求分析写功能需求和非功能需求。第四章是系统设计与实现写数据预处理模块、特征工程模块、受众分群模块、可视化模块这里要和代码结构一一对应。第五章是系统测试与结果分析写每个功能模块的验证结果、受众群体特征结论。第六章是总结与展望。写第三章需求分析的时候要避免“这个系统实现了数据分析”这种空话。建议把每一个用户故事写出来作为运营人员我希望查看不同年龄段的电影类型偏好以便制定推广策略。这样论文会显得很扎实。5.2 部署环境准备与一键启动部署说明最忌讳的是只写“安装Python运行main.py”。我把环境依赖全部固定下来并提供一键启动脚本。先创建一个requirements.txtpandas1.5.3 numpy1.23.5 scikit-learn1.2.2 matplotlib3.6.3 plotly5.13.1 flask2.2.3然后提供一个启动脚本start.sh在干净环境里测试通过#!/bin/bash python -m venv venv source venv/bin/activate pip install -r requirements.txt python main.pyWindows环境下则提供一个start.bat文件逻辑相同。自己在写部署说明时最好找一台全新机器从零安装一遍把遇到的坑都写进文档。我部署时发现Windows系统需要额外安装Microsoft Visual C Redistributable否则某些数值库会报错。这就是经验。5.3 演示视频录制思路演示视频是“全bao一条龙”里看起来很不起眼、但实际很能拉好感度的交付物。我的录制思路是先录一段2分钟背景介绍然后录系统执行过程最后录看板交互。具体操作上我先用软件录制屏幕在本地跑通项目然后按照三个流程来演示。第一步展示数据分析结果切到图表页面滚动展示年龄分布、评分分布、类型偏好热力图第二步展示受众分群结果切换到群体分析页面逐个选择五种受众群体展示雷达图和偏好标签第三步展示整体运行流程从命令行启动服务到浏览器打开看板全程不剪辑证明系统真实可用。录制视频时有一个小技巧把代码字体调大窗口不要铺满全屏这样评审老师能看清目录结构和代码逻辑。另外每段视频控制在3-5分钟太长反而会让老师失去耐心。6. 常见问题与踩坑记录6.1 数据质量引发的分析偏差这个项目最常见的坑是评分表里有大量冷门电影只有一两条评分记录。如果直接按用户聚合这部分数据会让平均值失真。我的处理方式是新增一个“评分电影数量”字段分析时至少要求用户评分数大于等于5否则不纳入群体特征计算。这个过滤条件要在论文里明确写出来否则评审老师会质疑你的样本选择。另一个坑是时间戳字段的时区问题。原始数据里的时间戳按UTC处理直接转换成本地时间后某天的分布会出现偏移。处理方式是在数据预处理阶段统一指定时区并记录在文档中。6.2 聚类效果不佳的调优思路我第一次跑K-Means时轮廓系数只有0.32群体之间特征区分不明显。排查之后发现原因有两个一是特征里包含了大量类型偏好的独热编码列稀疏矩阵让K-Means的距离计算被少数高频类型主导二是没有去除异常用户那些评了几万次分的重度用户形成了独立簇。改进方案是把特征缩减到核心业务指标并对用户评分数量做截断处理。之后轮廓系数提升到0.45群体解释性也大幅增强。所以我在论文里特别强调K-Means的结果不只是看指标更要看群体特征是否符合业务直觉。如果某个群体的画像不能用人话描述就要怀疑特征构造是否有问题。6.3 毕设答辩高频提问预案我把答辩时被问到的问题整理成了一个速查表这些问题在下次开题或者阶段汇报时大概率还会遇到。第一个问题是“为什么选择K-Means而不是其他聚类算法”。回答思路这个项目需要结果可解释、可复现K-Means简单高效通过肘部法则确定K值后就能得到稳定结果如果后续要扩展可以考虑GMM或层次聚类做对比。第二个问题是“受众群体特征研究有什么实际应用价值”。回答思路对视频平台来说可以用于个性化推荐冷启动对宣发方来说可以针对不同群体制定投放策略对创作者来说可以指导选题和宣传方向。第三个问题是“数据集的规模、来源和局限性”。回答思路数据集是公开的电影评分数据包含约XX用户、XX条评分记录局限性是缺乏用户真实观影时长、点赞等行为数据只能基于评分行为推测偏好。第四个问题是“如何验证模型结果的有效性”。回答思路既用了轮廓系数、Davies-Bouldin指数等内部指标也结合群体画像的分布差异做业务验证最好再做一个K在4到7之间的稳定性对比。最后说几句这次毕设做下来我个人最大的感受是项目本身并不复杂真正难的是把每一步都做得可以解释、可以复现、可以在文档里写明白。尤其是“全bao一条龙”这个词很多同学会理解为“把源码、文档、部署说明、演示视频凑齐就行”但如果你自己动手把每一步都跑通、每个参数都调过、每个图都改过你会发现答辩时的那种底气是装不出来的。如果你正在做类似课题建议严格按照“需求拆解-数据清洗-特征工程-建模-可视化-文档”这条主线推进。不要急着写代码先把每条数据的字段含义搞清楚再动手。后面的路会顺很多。最后再分享一个小自检技巧在提交毕设前把所有代码放进一个新建的虚拟环境从零执行一遍部署说明里的命令同时开着录屏软件完整录一遍。如果这个过程能顺利走下来你的项目基本就不怕任何验收。

相关新闻

人行动5.0结业测试:从模型微调到部署排错的备考指南

人行动5.0结业测试:从模型微调到部署排错的备考指南

简介:适用于讯飞新员工及转正考核准备的结业测试答案文档,内容围绕‘讯飞人行动’5.0版本的结业测评展开,完整覆盖单选题、多选题与判断题三类题型,可帮助考生在短时间内掌握考核要点。资源共1个docx文件、仅23KB,轻量…

2026/10/14 2:42:28 阅读更多 →
免费进销存软件怎么选?从部署到避坑的完整实战指南

免费进销存软件怎么选?从部署到避坑的完整实战指南

简介:免费进销存软件(onlyit121020版)是一款面向小型企业和个体经营者的进销存管理工具,聚焦进货、销售、库存与财务一体化管理,帮助优化业务流程、降低管理成本。软件以窗体程序形式提供直观操作界面,并因包含OA相关源码而具备二…

2026/10/14 2:42:28 阅读更多 →
考研择校与夏令营联动策略:信息收集框架与避坑指南

考研择校与夏令营联动策略:信息收集框架与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 2:42:28 阅读更多 →

最新新闻

Virglrenderer 虚拟化技术深入解析 · 专栏目录

Virglrenderer 虚拟化技术深入解析 · 专栏目录

一套面向工程师的 virglrenderer 源码级技术专栏。从概述与演进讲起,再深入核心抽象、各后端实现、部署集成与工程实践。所有内容以仓库源码为准。 这里讲一下我为什么关注 virglrenderer,因为国产 GPU 的虚拟化需求。 随着国产化替代的推进&#xff0c…

2026/10/14 3:23:34 阅读更多 →
Kestrel_VLLM_CUDA - 04 · 分组量化 GEMM 内核

Kestrel_VLLM_CUDA - 04 · 分组量化 GEMM 内核

04 分组量化 GEMM 内核 一句话:一个内核同时服务 decode(M1)与 prefill(M32),用「每线程固定几列、沿 K 扫」的映射让权重按 warp 满事务读、激活广播;用 z-split 把小 M 的欠填充网格补满&…

2026/10/14 3:23:34 阅读更多 →
Spring Boot 单元测试怎么写?物联网平台 MockMvc 接口测试与 Mockito 消息链路测试实战(附 JaCoCo 覆盖率报告)

Spring Boot 单元测试怎么写?物联网平台 MockMvc 接口测试与 Mockito 消息链路测试实战(附 JaCoCo 覆盖率报告)

真实运行截图:一、功能都写完了,为什么还要写测试? 我这个物联网设备接入平台(Spring Boot 3.5 EMQX MySQL),从设备注册、MQTT 接入、消息入库到密钥轮换,功能主线已经跑通了。但每次面试话题…

2026/10/14 3:23:34 阅读更多 →
宁波执业律师张娟:配偶背的债你要还吗——夫妻共同债务认定规则拆解

宁波执业律师张娟:配偶背的债你要还吗——夫妻共同债务认定规则拆解

结论先行:配偶单方所负的债务,并不天然由你连带承担。民法典第1064条确立了共债共签原则——共同签字或事后追认、为家庭日常生活需要所负的债务才是共同债务;超出日常生活需要的,原则上由举债方自担,除非债权人能证明…

2026/10/14 3:23:34 阅读更多 →
铝制小青瓦筑就江南院墅 复刻黛瓦白墙的东方栖居

铝制小青瓦筑就江南院墅 复刻黛瓦白墙的东方栖居

坐落于苏州的拙政江南,以拙政园为文脉基底,打造连片式低密新中式院墅群落。白墙围合私家庭院,黛瓦错落铺陈屋面,亭廊婉转、叠石理水,将苏州园林的雅致意境藏进每一方栖居空间。项目全线屋面采用铝制小青瓦,以现代建材工艺复刻传统江南小青瓦的形与韵,更从根源破解传统陶瓦的运维…

2026/10/14 3:23:34 阅读更多 →
中国起名服务正在发生什么变化?从“大师经验”到专业化、品牌化服务

中国起名服务正在发生什么变化?从“大师经验”到专业化、品牌化服务

很长时间里,人们对于“找人起名”的想象都非常简单: 找一位有经验的老师, 报出生时间, 老师根据经验给出几个名字。 整个服务高度依赖: “这个大师厉不厉害”。 但今天再观察国内专业起名市场,会发现它已经…

2026/10/14 3:22:34 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →