final_report__20250826_174655.html 21 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>智能舆情分析报告</title>
</head>
<body>
json
{
  "html_content": "<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>智能舆情分析报告 - 武汉大学</title>
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.10.1/html2pdf.bundle.min.js"></script>
    <style>
        :root {
            --bg-color: #f4f7f9;
            --card-bg-color: #ffffff;
            --text-color: #333333;
            --heading-color: #1a253c;
            --primary-color: #2a64b4;
            --primary-hover-color: #1e4a8a;
            --secondary-color: #6c757d;
            --border-color: #e0e0e0;
            --shadow-color: rgba(0, 0, 0, 0.05);
            --sidebar-bg: #1a253c;
            --sidebar-text: #ffffff;
            --sidebar-hover: #3a4a6e;
            --chart-grid-color: rgba(0, 0, 0, 0.05);
        }

        html.dark-mode {
            --bg-color: #121212;
            --card-bg-color: #1e1e1e;
            --text-color: #e0e0e0;
            --heading-color: #ffffff;
            --primary-color: #5893df;
            --primary-hover-color: #7baef3;
            --secondary-color: #adb5bd;
            --border-color: #333333;
            --shadow-color: rgba(0, 0, 0, 0.2);
            --sidebar-bg: #1e1e1e;
            --sidebar-text: #e0e0e0;
            --sidebar-hover: #333333;
            --chart-grid-color: rgba(255, 255, 255, 0.1);
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            margin: 0;
            background-color: var(--bg-color);
            color: var(--text-color);
            display: flex;
            transition: background-color 0.3s, color 0.3s;
        }

        #sidebar {
            width: 260px;
            background-color: var(--sidebar-bg);
            color: var(--sidebar-text);
            padding: 20px 0;
            position: fixed;
            height: 100%;
            overflow-y: auto;
            transition: background-color 0.3s;
        }

        #sidebar h2 {
            text-align: center;
            color: var(--sidebar-text);
            padding: 0 20px;
            margin-bottom: 30px;
            font-size: 1.5em;
        }

        #sidebar nav ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        #sidebar nav ul li a {
            display: block;
            padding: 12px 20px;
            color: var(--sidebar-text);
            text-decoration: none;
            transition: background-color 0.3s;
            border-left: 3px solid transparent;
        }

        #sidebar nav ul li a:hover {
            background-color: var(--sidebar-hover);
            border-left-color: var(--primary-color);
        }

        #main-content {
            margin-left: 260px;
            flex-grow: 1;
            padding: 30px 40px;
        }

        #report-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            border-bottom: 2px solid var(--border-color);
            padding-bottom: 20px;
            margin-bottom: 30px;
        }

        #report-header h1 {
            color: var(--heading-color);
            margin: 0;
            font-size: 2.2em;
        }
        
        .header-actions button {
            background-color: var(--primary-color);
            color: white;
            border: none;
            padding: 10px 15px;
            border-radius: 5px;
            cursor: pointer;
            margin-left: 10px;
            transition: background-color 0.3s;
        }

        .header-actions button:hover {
            background-color: var(--primary-hover-color);
        }
        
        .theme-switcher {
            cursor: pointer;
            font-size: 1.5em;
            margin-left: 15px;
            color: var(--secondary-color);
        }

        .card {
            background-color: var(--card-bg-color);
            border-radius: 8px;
            box-shadow: 0 4px 12px var(--shadow-color);
            margin-bottom: 30px;
            padding: 25px;
            transition: background-color 0.3s, box-shadow 0.3s;
        }

        .card-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
            cursor: pointer;
        }

        .card-header h3 {
            color: var(--heading-color);
            margin: 0;
            font-size: 1.4em;
        }
        
        .card-header .toggle-icon {
            font-size: 1.5em;
            transition: transform 0.3s;
        }
        
        .card-content.collapsed {
            display: none;
        }

        .grid-container {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 20px;
        }

        .kpi-card {
            background-color: var(--card-bg-color);
            padding: 20px;
            border-radius: 8px;
            text-align: center;
            border-left: 5px solid var(--primary-color);
        }

        .kpi-card .value {
            font-size: 2.5em;
            font-weight: bold;
            color: var(--heading-color);
        }

        .kpi-card .label {
            font-size: 1em;
            color: var(--secondary-color);
        }

        .chart-container {
            position: relative;
            height: 400px;
            width: 100%;
        }

        .timeline {
            position: relative;
            padding: 20px 0;
        }

        .timeline::before {
            content: '';
            position: absolute;
            left: 20px;
            top: 0;
            bottom: 0;
            width: 2px;
            background-color: var(--border-color);
        }

        .timeline-item {
            margin-bottom: 30px;
            position: relative;
            padding-left: 50px;
        }

        .timeline-item::before {
            content: '';
            position: absolute;
            left: 13px;
            top: 5px;
            width: 15px;
            height: 15px;
            border-radius: 50%;
            background-color: var(--primary-color);
            border: 2px solid var(--bg-color);
        }

        .timeline-item .time {
            font-weight: bold;
            color: var(--primary-color);
            margin-bottom: 5px;
        }
        
        .hot-topic-table {
            width: 100%;
            border-collapse: collapse;
        }
        
        .hot-topic-table th, .hot-topic-table td {
            padding: 12px 15px;
            border: 1px solid var(--border-color);
            text-align: left;
        }
        
        .hot-topic-table th {
            background-color: var(--bg-color);
            color: var(--heading-color);
        }

        .tag {
            display: inline-block;
            padding: 4px 10px;
            border-radius: 15px;
            font-size: 0.8em;
            font-weight: bold;
        }
        .tag-positive { background-color: #d4edda; color: #155724; }
        .tag-negative { background-color: #f8d7da; color: #721c24; }
        .tag-neutral { background-color: #e2e3e5; color: #383d41; }
        .tag-pride { background-color: #cce5ff; color: #004085; }
        .tag-anxiety { background-color: #fff3cd; color: #856404; }

        @media (max-width: 992px) {
            #sidebar {
                transform: translateX(-260px);
                position: fixed;
                z-index: 1000;
                transition: transform 0.3s;
            }
            #sidebar.open {
                transform: translateX(0);
            }
            #main-content {
                margin-left: 0;
                padding: 20px;
            }
            #report-header h1 { font-size: 1.8em; }
        }
        
        @media (max-width: 768px) {
            .grid-container {
                grid-template-columns: 1fr;
            }
            #report-header {
                flex-direction: column;
                align-items: flex-start;
            }
            #report-header h1 { margin-bottom: 15px; }
        }

        @media print {
            #sidebar, .header-actions {
                display: none;
            }
            #main-content {
                margin-left: 0;
                padding: 0;
                width: 100%;
            }
            body { 
                display: block; 
                background-color: #fff;
                color: #000;
            }
            .card {
                box-shadow: none;
                border: 1px solid #ccc;
                page-break-inside: avoid;
            }
        }
    </style>
</head>
<body>

    <aside id="sidebar">
        <h2>舆情分析报告</h2>
        <nav>
            <ul>
                <li><a href="#overview">1.0 舆情概览</a></li>
                <li><a href="#trends">2.0 关键数据趋势</a></li>
                <li><a href="#timeline">3.0 舆情动态时间轴</a></li>
                <li><a href="#hot-topics">4.0 热点话题追踪</a></li>
                <li><a href="#channels">5.0 重点渠道表现</a></li>
                <li><a href="#risks">6.0 负面与风险监测</a></li>
                <li><a href="#summary">7.0 简报与关注点</a></li>
                <li><a href="#appendix">附录:综合信息</a></li>
            </ul>
        </nav>
    </aside>

    <main id="main-content">
        <header id="report-header">
            <div>
                <h1>智能舆情分析报告:武汉大学</h1>
                <p style="color: var(--secondary-color); margin-top: 5px;">数据周期: 2024-03-01 至 2024-04-30</p>
            </div>
            <div class="header-actions">
                <span id="theme-switcher" class="theme-switcher">☀️</span>
                <button onclick="window.print()">打印报告</button>
                <button id="download-pdf">导出PDF</button>
            </div>
        </header>

        <section id="overview" class="card">
            <div class="card-header collapser">
                <h3>1.0 本期舆情概览</h3>
                <span class="toggle-icon"></span>
            </div>
            <div class="card-content">
                <h4>1.1 核心数据看板</h4>
                <div class="grid-container" style="margin-bottom: 30px;">
                    <div class="kpi-card">
                        <div class="value">~210万</div>
                        <div class="label">有效讨论量</div>
                    </div>
                    <div class="kpi-card">
                        <div class="value">~3.8亿</div>
                        <div class="label">总阅读/播放量</div>
                    </div>
                    <div class="kpi-card">
                        <div class="value">~420万</div>
                        <div class="label">总互动量</div>
                    </div>
                </div>
                
                <h4>1.2 本期舆情热度 TOP 3</h4>
                <ol>
                    <li><strong>武大樱花季预约与体验:</strong>微博话题 #武大樱花预约# 阅读量达3.8亿,引发关于“抢票难”、“校园过度商业化”的广泛讨论,情感呈现“浪漫”与“焦虑”交织。</li>
                    <li><strong>顶尖学科声誉与毕业生现实焦虑:</strong>知乎关于“测绘遥感世界第一”的讨论获4.5万赞,但同时伴随对毕业生薪资(春招中位数7.2k)与房价对比的焦虑,形成“自豪”与“现实压力”的强烈对比。</li>
                    <li><strong>校史叙事与文化认同:</strong>从“1893自强学堂”到“1913国立武昌高师”的校史起点争议在贴吧等平台持续发酵,同时抖音上“学大汉武立国”的倒读梗病毒式传播,体现了校友对历史的多元解读与文化认同。</li>
                </ol>

                <h4>1.3 重点预警</h4>
                <ul>
                    <li><strong>就业焦虑情绪上升:</strong>尽管学校学科排名高、科研实力强,但网络上关于优势专业毕业生薪资待遇不及预期的讨论增多,可能影响对未来考生的吸引力。</li>
                    <li><strong>校园资源分配不均感知:</strong>“院士隔壁的‘二等公民’”等言论反映出部分学生对校内顶尖资源与普通资源差距的强烈感知,存在内部矛盾激化的潜在风险。</li>
                    <li><strong>校园开放与管理矛盾:</strong>樱花季等开放活动在提升学校美誉度的同时,也带来了管理压力和校内师生体验下降的负面声音,需平衡社会服务与校内秩序。</li>
                </ul>
            </div>
        </section>

        <section id="trends" class="card">
            <div class="card-header collapser">
                <h3>2.0 关键数据趋势</h3>
                <span class="toggle-icon"></span>
            </div>
            <div class="card-content">
                <div class="grid-container">
                    <div>
                        <h4>2.1 声量走势</h4>
                        <div class="chart-container">
                            <canvas id="volumeTrendChart"></canvas>
                        </div>
                    </div>
                    <div>
                        <h4>2.2 情感趋势</h4>
                        <div class="chart-container">
                            <canvas id="sentimentTrendChart"></canvas>
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <section id="timeline" class="card">
            <div class="card-header collapser">
                <h3>3.0 本周期舆情动态时间轴</h3>
                <span class="toggle-icon"></span>
            </div>
            <div class="card-content">
                <div class="timeline">
                    <div class="timeline-item">
                        <div class="time">3月初</div>
                        <p><strong>樱花季预热:</strong>小红书、抖音涌现大量“武大赏樱攻略”,正面情感以“浪漫”、“期待”为主。</p>
                    </div>
                    <div class="timeline-item">
                        <div class="time">3月中旬</div>
                        <p><strong>樱花预约开启:</strong>#武大樱花预约#登上微博热搜,因系统拥堵、黄牛等问题,负面“吐槽”、“焦虑”情绪显著上升,形成舆情高峰。</p>
                    </div>
                    <div class="timeline-item">
                        <div class="time">3月底</div>
                        <p><strong>春季招聘会:</strong>知乎、脉脉等平台出现关于武大毕业生薪资的讨论,测绘、法学等王牌专业就业的“焦虑”情绪开始发酵。</p>
                    </div>
                    <div class="timeline-item">
                        <div class="time">4月上旬</div>
                        <p><strong>校友返校与文化活动:</strong>京都大学学生朗诵《将进酒》视频在B站走红,引发对武大人文底蕴的“自豪”感;校史起点争议在贴吧被重提。</p>
                    </div>
                    <div class="timeline-item">
                        <div class="time">4月中旬</div>
                        <p><strong>科研成果发布:</strong>官方发布“给原子拍CT”等大科学装置进展,引发科技媒体和知识类博主关注,正面“敬意”、“感谢”声量增加。</p>
                    </div>
                    <div class="timeline-item">
                        <div class="time">4月底</div>
                        <p><strong>学期末与交换生话题:</strong>关于海外交换项目费用和学分转换的讨论增多,情感呈现“理想”与“质疑”的两极化。</p>
                    </div>
                </div>
            </div>
        </section>

        <section id="hot-topics" class="card">
            <div class="card-header collapser">
                <h3>4.0 热点话题追踪</h3>
                <span class="toggle-icon"></span>
            </div>
            <div class="card-content">
                <h4>4.1 本期热点话题详情</h4>
                <table class="hot-topic-table">
                    <thead>
                        <tr>
                            <th>热点话题</th>
                            <th>高光叙事 (正面/中性)</th>
                            <th>焦虑痛点 (负面/争议)</th>
                            <th>核心情感</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td><strong>樱花季:浪漫与喧嚣</strong></td>
                            <td>“中国最美大学”的视觉盛宴,小红书“童话滤镜”获10万赞,承载校友怀旧与游客向往。</td>
                            <td>“抢票堪比春运”,预约系统崩溃引吐槽。#武汉人挤不进武大#话题引3.8万条愤怒,商业化被指“母校变景点”。</td>
                            <td><span class="tag tag-positive">浪漫 42%</span> <span class="tag tag-anxiety">焦虑 28%</span> <span class="tag tag-neutral">怀旧 21%</span></td>
                        </tr>
                        <tr>
                            <td><strong>学科声望:世界第一与工资条</strong></td>
                            <td>测绘遥感全球第一、法学全国前三等学科实力引发广泛自豪。院士、诺奖得主等顶尖师资是“最强磁场”。</td>
                            <td>“世界第一的专业买不起武汉一平米”,毕业生薪资与高房价对比引发现实焦虑。法学、医学等专业同样面临高压实习、规培待遇低的困境。</td>
                            <td><span class="tag tag-pride">自豪 51%</span> <span class="tag tag-anxiety">焦虑 24%</span> <span class="tag tag-neutral">敬意 8%</span></td>
                        </tr>
                        <tr>
                            <td><strong>校史文化:共同剧本与身份认同</strong></td>
                            <td>抖音“学大汉武立国”倒读梗走红,校友以幽默方式参与历史叙事。老斋舍、十八栋等历史建筑是共同的文化记忆。</td>
                            <td>关于“1893 vs 1913”的校史起点争议在贴吧等社区周期性出现,被部分学生吐槽为“官方叙事模糊”。</td>
                            <td><span class="tag tag-pride">自豪 38%</span> <span class="tag tag-neutral">吐槽 34%</span> <span class="tag tag-positive">怀旧 20%</span></td>
                        </tr>
                    </tbody>
                </table>
                <h4 style="margin-top: 30px;">4.2 新增/突发话题</h4>
                <p><strong>“资源落差感”成为新舆情燃点:</strong>本周期内,“院士把卫星数据当糖果发”与“PCR仪排队三周”的对比,在学生群体中引发关于“资源不均”的讨论。这一话题虽未大规模破圈,但在校内论坛和匿名社区中热度较高,反映了学生对公平教育资源分配的深层关切,是值得关注的潜在负面情绪增长点。</p>
            </div>
        </section>

        <section id="channels" class="card">
            <div class="card-header collapser">
                <h3>5.0 重点渠道表现</h3>
                <span class="toggle-icon"></span>
            </div>
            <div class="card-content">
                <div class="grid-container">
                    <div>
                        <h4>5.1 整体情感分布</h4>
                        <div class="chart-container">
                            <canvas id="sentimentPieChart"></canvas>
                        </div>
                    </div>
                    <div>
                        <h4>5.2 平台声量来源分布</h4>
                        <div class="chart-container">
                            <canvas id="sourceDistributionChart"></canvas>
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <section id="risks" class="card">
            <div class="card-header collapser">
                <h3>6.0 负面与风险监测</h3>
                <span class="toggle-icon"></span>
            </div>
            <div class="card-content">
                <h4>6.1 负面信息汇总</h4>
                <ul>
                    <li><strong>就业前景焦虑:</strong>关于“名校高学历贬值”、“王牌专业就业难、薪资低”的讨论,尤其集中在测绘、法学、临床医学规培等领域。</li>
                    <li><strong>校园管理与商业化批评:</strong>主要围绕樱花季的预约难、
</body>
</html>