<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>热点新闻分析</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js" integrity="sha512-BNaRQnYJYiPSqHHDb58B0yaPfCu+Wgds8Gp/gU33kqBtgNS4tSPHuGibyoeqMV/TJlSKda6FXzoEyYGjTe+vXA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<style>
* { box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
margin: 0;
padding: 16px;
background: #fafafa;
color: #333;
line-height: 1.5;
}
.container {
max-width: 600px;
margin: 0 auto;
background: white;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 2px 16px rgba(0,0,0,0.06);
}
.header {
background: linear-gradient(135deg, #7a72ff 0%, #3aafed 100%);
color: #fff;
padding: 32px 24px;
text-align: center;
position: relative;
}
.save-buttons {
position: absolute;
top: 16px;
right: 16px;
display: flex;
gap: 8px;
}
.save-btn {
background: rgba(255, 255, 255, 0.2);
border: 1px solid rgba(255, 255, 255, 0.3);
color: white;
padding: 8px 16px;
border-radius: 6px;
cursor: pointer;
font-size: 13px;
font-weight: 500;
transition: all 0.2s ease;
backdrop-filter: blur(10px);
white-space: nowrap;
}
.save-btn:hover {
background: rgba(255, 255, 255, 0.3);
border-color: rgba(255, 255, 255, 0.5);
transform: translateY(-1px);
}
.save-btn:active {
transform: translateY(0);
}
.save-btn:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.header-title {
font-size: 22px;
font-weight: 700;
margin: 0 0 20px 0;
}
.header-info {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
font-size: 14px;
opacity: 0.95;
}
.info-item {
text-align: center;
}
.info-label {
display: block;
font-size: 12px;
opacity: 0.8;
margin-bottom: 4px;
}
.info-value {
font-weight: 600;
font-size: 16px;
}
.content {
padding: 24px;
}
.word-group {
margin-bottom: 40px;
}
.word-group:first-child {
margin-top: 0;
}
.word-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
padding-bottom: 8px;
border-bottom: 1px solid #f0f0f0;
}
.word-info {
display: flex;
align-items: center;
gap: 12px;
}
.word-name {
font-size: 17px;
font-weight: 600;
color: #1a1a1a;
}
.word-count {
color: #666;
font-size: 13px;
font-weight: 500;
}
.word-count.hot { color: #dc2626; font-weight: 600; }
.word-count.warm { color: #ea580c; font-weight: 600; }
.word-index {
color: #999;
font-size: 12px;
}
.news-item {
margin-bottom: 20px;
padding: 16px 0;
border-bottom: 1px solid #f5f5f5;
position: relative;
display: flex;
gap: 12px;
align-items: center;
}
.news-item:last-child {
border-bottom: none;
}
.news-item.new::after {
content: "NEW";
position: absolute;
top: 12px;
right: 0;
background: #fbbf24;
color: #92400e;
font-size: 9px;
font-weight: 700;
padding: 3px 6px;
border-radius: 4px;
letter-spacing: 0.5px;
}
.news-number {
color: #999;
font-size: 13px;
font-weight: 600;
min-width: 20px;
text-align: center;
flex-shrink: 0;
background: #f8f9fa;
border-radius: 50%;
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
align-self: flex-start;
margin-top: 8px;
}
.news-content {
flex: 1;
min-width: 0;
padding-right: 40px;
}
.news-item.new .news-content {
padding-right: 50px;
}
.news-header {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 8px;
flex-wrap: wrap;
}
.source-name {
color: #666;
font-size: 12px;
font-weight: 500;
}
.rank-num {
color: #fff;
background: #6b7280;
font-size: 10px;
font-weight: 700;
padding: 2px 6px;
border-radius: 10px;
min-width: 18px;
text-align: center;
}
.rank-num.top { background: #dc2626; }
.rank-num.high { background: #ea580c; }
.time-info {
color: #999;
font-size: 11px;
}
.count-info {
color: #059669;
font-size: 11px;
font-weight: 500;
}
.news-title {
font-size: 15px;
line-height: 1.4;
color: #1a1a1a;
margin: 0;
}
.news-link {
color: #2563eb;
text-decoration: none;
}
.news-link:hover {
text-decoration: underline;
}
.news-link:visited {
color: #7c3aed;
}
.topic-trend-section {
margin-top: 40px;
padding-top: 24px;
border-top: 2px solid #f0f0f0;
}
.topic-trend-title {
color: #1a1a1a;
font-size: 16px;
font-weight: 600;
margin: 0 0 20px 0;
}
.viral-topic-item {
padding: 16px 0;
border-bottom: 1px solid #f5f5f5;
}
.viral-topic-item:last-child {
border-bottom: none;
}
.viral-topic-header {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 12px;
}
.viral-topic-keyword {
font-size: 16px;
font-weight: 600;
}
.topic-item {
display: flex;
align-items: center;
gap: 12px;
padding: 8px 0;
border-bottom: 1px solid #f9f9f9;
}
.topic-item:last-child {
border-bottom: none;
}
.viral-topic-stats {
font-size: 12px;
color: #666;
}
.viral-topic-stats .new { color: #dc2626; font-weight: bold; }
.viral-topic-stats .up { color: #f59e0b; font-weight: bold; }
.viral-topic-stats .level-high { color: #dc2626; font-weight: bold; }
.viral-topic-stats .level-mid { color: #f59e0b; font-weight: bold; }
.viral-sample-titles {
list-style: none;
padding-left: 16px;
margin: 0;
font-size: 13px;
}
.viral-sample-titles li {
color: #666;
padding: 4px 0;
position: relative;
}
.viral-sample-titles li::before { content: '▪'; position: absolute; left: -14px; color: #ccc; }
.new-section {
margin-top: 40px;
padding-top: 24px;
border-top: 2px solid #f0f0f0;
}
.new-section-title {
color: #1a1a1a;
font-size: 16px;
font-weight: 600;
margin: 0 0 20px 0;
}
.new-source-group {
margin-bottom: 24px;
}
.new-source-title {
color: #666;
font-size: 13px;
font-weight: 500;
margin: 0 0 12px 0;
padding-bottom: 6px;
border-bottom: 1px solid #f5f5f5;
}
.new-item {
display: flex;
align-items: center;
gap: 12px;
padding: 8px 0;
border-bottom: 1px solid #f9f9f9;
}
.new-item:last-child {
border-bottom: none;
}
.new-item-number {
color: #999;
font-size: 12px;
font-weight: 600;
min-width: 18px;
text-align: center;
flex-shrink: 0;
background: #f8f9fa;
border-radius: 50%;
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
}
.new-item-rank {
color: #fff;
background: #6b7280;
font-size: 10px;
font-weight: 700;
padding: 3px 6px;
border-radius: 8px;
min-width: 20px;
text-align: center;
flex-shrink: 0;
}
.new-item-rank.top { background: #dc2626; }
.new-item-rank.high { background: #ea580c; }
.new-item-content {
flex: 1;
min-width: 0;
}
.new-item-title {
font-size: 14px;
line-height: 1.4;
color: #1a1a1a;
margin: 0;
}
.error-section {
background: #fef2f2;
border: 1px solid #fecaca;
border-radius: 8px;
padding: 16px;
margin-bottom: 24px;
}
.error-title {
color: #dc2626;
font-size: 14px;
font-weight: 600;
margin: 0 0 8px 0;
}
.error-list {
list-style: none;
padding: 0;
margin: 0;
}
.error-item {
color: #991b1b;
font-size: 13px;
padding: 2px 0;
font-family: 'SF Mono', Consolas, monospace;
}
.footer {
margin-top: 32px;
padding: 20px 24px;
background: #f8f9fa;
border-top: 1px solid #e5e7eb;
text-align: center;
}
.footer-content {
font-size: 13px;
color: #6b7280;
line-height: 1.6;
}
.footer-link {
color: #4f46e5;
text-decoration: none;
font-weight: 500;
transition: color 0.2s ease;
}
.footer-link:hover {
color: #7c3aed;
text-decoration: underline;
}
.project-name {
font-weight: 600;
color: #374151;
}
@media (max-width: 480px) {
body { padding: 12px; }
.header { padding: 24px 20px; }
.content { padding: 20px; }
.footer { padding: 16px 20px; }
.header-info { grid-template-columns: 1fr; gap: 12px; }
.news-header { gap: 6px; }
.news-content { padding-right: 45px; }
.news-item { gap: 8px; }
.new-item { gap: 8px; }
.news-number { width: 20px; height: 20px; font-size: 12px; }
.save-buttons {
position: static;
margin-bottom: 16px;
display: flex;
gap: 8px;
justify-content: center;
flex-direction: column;
width: 100%;
}
.save-btn {
width: 100%;
}
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<div class="save-buttons">
<button class="save-btn" onclick="saveAsImage()">保存为图片</button>
<button class="save-btn" onclick="saveAsMultipleImages()">分段保存</button>
</div>
<div class="header-title">热点新闻分析</div>
<div class="header-info">
<div class="info-item">
<span class="info-label">报告类型</span>
<span class="info-value">实时分析</span>
</div>
<div class="info-item">
<span class="info-label">新闻总数</span>
<span class="info-value">255 条</span>
</div>
<div class="info-item">
<span class="info-label">热点新闻</span>
<span class="info-value">22 条</span>
</div>
<div class="info-item">
<span class="info-label">生成时间</span>
<span class="info-value">02-09 02:29</span>
</div>
</div>
</div>
<div class="content">
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">ai 人工智能</div>
<div class="word-count warm">9 条</div>
</div>
<div class="word-index">1/5</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">华尔街见闻</span><span class="rank-num top">1</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://wallstreetcn.com/articles/3765241" target="_blank" class="news-link">AI交易“被忽视的风险”:万一,天量资本开支“花不出去”</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">2</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">华尔街见闻</span><span class="rank-num top">2</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://wallstreetcn.com/articles/3765243" target="_blank" class="news-link">下周重磅日程:美非农CPI齐发,中国通胀,AI、机器人春节大战</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">3</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">华尔街见闻</span><span class="rank-num high">4</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://wallstreetcn.com/articles/3765246" target="_blank" class="news-link">美股本周大波动,投资者在担心:美国经济真的强吗?AI成利空了?避险资产炒成风险资产了?</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">4</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">澎湃新闻</span><span class="rank-num high">5</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://m.thepaper.cn/newsDetail_forward_32561384" target="_blank" class="news-link">人民日报:孩子用AI写作业,你怎么看?</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">5</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">财联社热门</span><span class="rank-num high">5</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2283350" target="_blank" class="news-link">一款AI工具“血洗”全球软件股 中国SaaS何去何从?</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">6</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">财联社热门</span><span class="rank-num ">12</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2283872" target="_blank" class="news-link">忙到深夜!“年轻人的新年货”提前集中释放 联合治疗、AI辅助有望成医美新趋势|传真</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">7</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">知乎</span><span class="rank-num ">13</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://www.zhihu.com/question/2003429600861110745" target="_blank" class="news-link">阿里千问撒外卖券,腾讯元宝发现金红包,如何看待大厂通过「请客」这一朴素方式推广最前沿的 AI 技术的策略?</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">8</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">bilibili 热搜</span><span class="rank-num ">14</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://search.bilibili.com/all?keyword=UP%E4%B8%BB%E7%94%A8AI%E5%81%9A%E5%BD%B1%E6%B8%B8%E8%9E%8D%E5%90%88%E6%B2%89%E6%B5%B8%E5%BC%8F%E7%A7%91%E6%99%AE" target="_blank" class="news-link">UP主用AI做影游融合沉浸式科普</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">9</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">知乎</span><span class="rank-num ">14</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://www.zhihu.com/question/2003524766523473932" target="_blank" class="news-link">如何看待 Anthropic 用纯 AI 实现的 CCC 编译器可编译 Linux?</a>
</div>
</div>
</div>
</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">特斯拉 马斯克</div>
<div class="word-count warm">5 条</div>
</div>
<div class="word-index">2/5</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">凤凰网</span><span class="rank-num high">5</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://news.ifeng.com/c/8qa3p0ihw5V" target="_blank" class="news-link">秘密照片曝光!爱泼斯坦曾与马斯克、扎克伯格等共进晚餐(图)</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">2</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">财联社热门</span><span class="rank-num ">8</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2283869" target="_blank" class="news-link">马斯克再发警告:若没有AI和机器人,美国1000%会走向破产</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">3</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">今日头条</span><span class="rank-num ">13</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://www.toutiao.com/trending/7603356374260547634/" target="_blank" class="news-link">马斯克与爱泼斯坦共进晚餐照曝光</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">4</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">百度热搜</span><span class="rank-num ">21</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://www.baidu.com/s?wd=%E2%80%9C%E9%95%BF%E6%B2%99%E9%A9%AC%E6%96%AF%E5%85%8B%E2%80%9D%E6%96%B0%E5%85%AC%E5%8F%B8%E4%BC%B0%E5%80%BC2%E4%B8%AA%E4%BA%BF" target="_blank" class="news-link">“长沙马斯克”新公司估值2个亿</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">5</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">百度热搜</span><span class="rank-num ">27</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://www.baidu.com/s?wd=%E7%88%B1%E6%B3%BC%E6%96%AF%E5%9D%A6%E4%B8%8E%E9%A9%AC%E6%96%AF%E5%85%8B%E5%85%B1%E8%BF%9B%E6%99%9A%E9%A4%90%E7%85%A7%E7%89%87%E6%9B%9D%E5%85%89" target="_blank" class="news-link">爱泼斯坦与马斯克共进晚餐照片曝光</a>
</div>
</div>
</div>
</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">股票 A股 上证 深证</div>
<div class="word-count ">4 条</div>
</div>
<div class="word-index">3/5</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">财联社热门</span><span class="rank-num top">3</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2283724" target="_blank" class="news-link">太空光伏概念龙头三连板 P型HJT/钙钛矿叠层技术路线A股名单及相关业务一览</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">2</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">今日头条</span><span class="rank-num high">5</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://www.toutiao.com/trending/7604445809202957874/" target="_blank" class="news-link">一夜之间4家A股公司被立案或处罚</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">3</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">财联社热门</span><span class="rank-num ">6</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2283734" target="_blank" class="news-link">年内迄今19家A股上市公司公告终止并购重组 热门商业航天概念股赫然在列</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">4</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">财联社热门</span><span class="rank-num ">11</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2283877" target="_blank" class="news-link">龙头20CM三连板 本周披露并购重组进展的A股名单一览</a>
</div>
</div>
</div>
</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">航天 飞船</div>
<div class="word-count ">3 条</div>
</div>
<div class="word-index">4/5</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">财联社热门</span><span class="rank-num top">1</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2283668" target="_blank" class="news-link">我国成功发射可重复使用试验航天器</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">2</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">财联社热门</span><span class="rank-num top">2</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2283882" target="_blank" class="news-link">周末要闻汇总:我国成功发射可重复使用试验航天器;半导体行业有望首次迈入万亿美元时代</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">3</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">财联社热门</span><span class="rank-num ">13</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2283820" target="_blank" class="news-link">【早报】央行连续第15个月增持黄金;我国成功发射可重复使用试验航天器</a>
</div>
</div>
</div>
</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">谷歌 google</div>
<div class="word-count ">1 条</div>
</div>
<div class="word-index">5/5</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">华尔街见闻</span><span class="rank-num ">7</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://wallstreetcn.com/articles/3765245" target="_blank" class="news-link">大手笔AI投资之后:亚马逊、谷歌、Meta要花光现金流了?</a>
</div>
</div>
</div>
</div>
<div class="topic-trend-section">
<div class="topic-trend-title">🔥 异常热度话题</div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">成何体统</div>
<div class="viral-topic-stats">
5条提及 · <span class="up">↑5%</span> · <span class="level-mid">中热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>成何体统 癫剧</li><li>成何体统</li><li>成何体统 看哭了</li></ul></div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">AI</div>
<div class="viral-topic-stats">
4条提及 · <span class="up">↑4%</span> · <span class="level-mid">中热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>“AI.com”域名卖出7000万美元</li><li>高盛解读本周市场焦点:“AI-SaaS”之争</li><li>下周重磅日程:美非农CPI齐发,中国通胀,AI、机器人春节大战</li></ul></div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">2026</div>
<div class="viral-topic-stats">
4条提及 · <span class="up">↑4%</span> · <span class="level-mid">中热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>2026 乒乓球亚洲杯男子单打:林诗栋 3-4 户上隼辅,止步 8 强。如何评价本场比赛?</li><li>2026 年 1 月份广汽本田销量再次暴跌 70% 至 4558 辆,未受到新能源车购置税提振,如何看待这一结果?</li><li>2026 年 3 月白银会爆发史诗级「交割战争」吗?</li></ul></div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">苏翊鸣</div>
<div class="viral-topic-stats">
3条提及 · <span class="up">↑3%</span> · <span class="level-mid">中热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>苏翊鸣:判罚完全公平</li><li>苏翊鸣:已倾尽全力,对得起4年努力</li><li>苏翊鸣:铜牌也挺好</li></ul></div></div>
<div class="topic-trend-section">
<div class="topic-trend-title">✨ 关注话题趋势</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">AMD</div>
<div class="word-count">9 条提及 <span style="color: #059669;">(↓100.00%)</span></div>
</div>
</div>
<div class="news-item">
<div class="news-content" style="padding-right: 0;">
<img src="data:image/png;base64,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" alt="AMD 趋势图" style="width: 100%; height: auto;" />
</div>
</div>
</div></div>
</div>
<div class="footer">
<div class="footer-content">
</div>
</div>
</div>
<script>
async function saveAsImage() {
const button = event.target;
const originalText = button.textContent;
try {
button.textContent = '生成中...';
button.disabled = true;
window.scrollTo(0, 0);
// 等待页面稳定
await new Promise(resolve => setTimeout(resolve, 200));
// 截图前隐藏按钮
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'hidden';
// 再次等待确保按钮完全隐藏
await new Promise(resolve => setTimeout(resolve, 100));
const container = document.querySelector('.container');
const canvas = await html2canvas(container, {
backgroundColor: '#ffffff',
scale: 1.5,
useCORS: true,
allowTaint: false,
imageTimeout: 10000,
removeContainer: false,
foreignObjectRendering: false,
logging: false,
width: container.offsetWidth,
height: container.offsetHeight,
x: 0,
y: 0,
scrollX: 0,
scrollY: 0,
windowWidth: window.innerWidth,
windowHeight: window.innerHeight
});
buttons.style.visibility = 'visible';
const link = document.createElement('a');
const now = new Date();
const filename = `TrendRadar_热点新闻分析_${now.getFullYear()}${String(now.getMonth() + 1).padStart(2, '0')}${String(now.getDate()).padStart(2, '0')}_${String(now.getHours()).padStart(2, '0')}${String(now.getMinutes()).padStart(2, '0')}.png`;
link.download = filename;
link.href = canvas.toDataURL('image/png', 1.0);
// 触发下载
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
button.textContent = '保存成功!';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
} catch (error) {
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'visible';
button.textContent = '保存失败';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
}
}
async function saveAsMultipleImages() {
const button = event.target;
const originalText = button.textContent;
const container = document.querySelector('.container');
const scale = 1.5;
const maxHeight = 5000 / scale;
try {
button.textContent = '分析中...';
button.disabled = true;
// 获取所有可能的分割元素
const newsItems = Array.from(container.querySelectorAll('.news-item'));
const wordGroups = Array.from(container.querySelectorAll('.word-group'));
const newSection = container.querySelector('.new-section');
const errorSection = container.querySelector('.error-section');
const header = container.querySelector('.header');
const footer = container.querySelector('.footer');
// 计算元素位置和高度
const containerRect = container.getBoundingClientRect();
const elements = [];
// 添加header作为必须包含的元素
elements.push({
type: 'header',
element: header,
top: 0,
bottom: header.offsetHeight,
height: header.offsetHeight
});
// 添加错误信息(如果存在)
if (errorSection) {
const rect = errorSection.getBoundingClientRect();
elements.push({
type: 'error',
element: errorSection,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
}
// 按word-group分组处理news-item
wordGroups.forEach(group => {
const groupRect = group.getBoundingClientRect();
const groupNewsItems = group.querySelectorAll('.news-item');
// 添加word-group的header部分
const wordHeader = group.querySelector('.word-header');
if (wordHeader) {
const headerRect = wordHeader.getBoundingClientRect();
elements.push({
type: 'word-header',
element: wordHeader,
parent: group,
top: groupRect.top - containerRect.top,
bottom: headerRect.bottom - containerRect.top,
height: headerRect.height
});
}
// 添加每个news-item
groupNewsItems.forEach(item => {
const rect = item.getBoundingClientRect();
elements.push({
type: 'news-item',
element: item,
parent: group,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
});
});
// 添加新增新闻部分
if (newSection) {
const rect = newSection.getBoundingClientRect();
elements.push({
type: 'new-section',
element: newSection,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
}
// 添加footer
const footerRect = footer.getBoundingClientRect();
elements.push({
type: 'footer',
element: footer,
top: footerRect.top - containerRect.top,
bottom: footerRect.bottom - containerRect.top,
height: footer.offsetHeight
});
// 计算分割点
const segments = [];
let currentSegment = { start: 0, end: 0, height: 0, includeHeader: true };
let headerHeight = header.offsetHeight;
currentSegment.height = headerHeight;
for (let i = 1; i < elements.length; i++) {
const element = elements[i];
const potentialHeight = element.bottom - currentSegment.start;
// 检查是否需要创建新分段
if (potentialHeight > maxHeight && currentSegment.height > headerHeight) {
// 在前一个元素结束处分割
currentSegment.end = elements[i - 1].bottom;
segments.push(currentSegment);
// 开始新分段
currentSegment = {
start: currentSegment.end,
end: 0,
height: element.bottom - currentSegment.end,
includeHeader: false
};
} else {
currentSegment.height = potentialHeight;
currentSegment.end = element.bottom;
}
}
// 添加最后一个分段
if (currentSegment.height > 0) {
currentSegment.end = container.offsetHeight;
segments.push(currentSegment);
}
button.textContent = `生成中 (0/${segments.length})...`;
// 隐藏保存按钮
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'hidden';
// 为每个分段生成图片
const images = [];
for (let i = 0; i < segments.length; i++) {
const segment = segments[i];
button.textContent = `生成中 (${i + 1}/${segments.length})...`;
// 创建临时容器用于截图
const tempContainer = document.createElement('div');
tempContainer.style.cssText = `
position: absolute;
left: -9999px;
top: 0;
width: ${container.offsetWidth}px;
background: white;
`;
tempContainer.className = 'container';
// 克隆容器内容
const clonedContainer = container.cloneNode(true);
// 移除克隆内容中的保存按钮
const clonedButtons = clonedContainer.querySelector('.save-buttons');
if (clonedButtons) {
clonedButtons.style.display = 'none';
}
tempContainer.appendChild(clonedContainer);
document.body.appendChild(tempContainer);
// 等待DOM更新
await new Promise(resolve => setTimeout(resolve, 100));
// 使用html2canvas截取特定区域
const canvas = await html2canvas(clonedContainer, {
backgroundColor: '#ffffff',
scale: scale,
useCORS: true,
allowTaint: false,
imageTimeout: 10000,
logging: false,
width: container.offsetWidth,
height: segment.end - segment.start,
x: 0,
y: segment.start,
windowWidth: window.innerWidth,
windowHeight: window.innerHeight
});
images.push(canvas.toDataURL('image/png', 1.0));
// 清理临时容器
document.body.removeChild(tempContainer);
}
// 恢复按钮显示
buttons.style.visibility = 'visible';
// 下载所有图片
const now = new Date();
const baseFilename = `TrendRadar_热点新闻分析_${now.getFullYear()}${String(now.getMonth() + 1).padStart(2, '0')}${String(now.getDate()).padStart(2, '0')}_${String(now.getHours()).padStart(2, '0')}${String(now.getMinutes()).padStart(2, '0')}`;
for (let i = 0; i < images.length; i++) {
const link = document.createElement('a');
link.download = `${baseFilename}_part${i + 1}.png`;
link.href = images[i];
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
// 延迟一下避免浏览器阻止多个下载
await new Promise(resolve => setTimeout(resolve, 100));
}
button.textContent = `已保存 ${segments.length} 张图片!`;
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
} catch (error) {
console.error('分段保存失败:', error);
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'visible';
button.textContent = '保存失败';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
}
}
document.addEventListener('DOMContentLoaded', function() {
window.scrollTo(0, 0);
});
</script>
</body>
</html>