We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lizouzt/TrendRadar'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
<!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">116 条</span>
</div>
<div class="info-item">
<span class="info-label">热点新闻</span>
<span class="info-value">1 条</span>
</div>
<div class="info-item">
<span class="info-label">生成时间</span>
<span class="info-value">12-27 11:51</span>
</div>
</div>
</div>
<div class="content">
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">航天 飞船 航空</div>
<div class="word-count ">1 条</div>
</div>
<div class="word-index">1/1</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 ">15</span><span class="time-info">11时51分</span>
</div>
<div class="news-title"><a href="https://m.thepaper.cn/newsDetail_forward_32258860" target="_blank" class="news-link">随神舟二十一号载人飞船返回的“太空小鼠”已成功孕育幼仔</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">
3条提及 · <span class="up">↑3%</span> · <span class="level-mid">中热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>《燕云十六声》虚拟时装被指低俗</li><li>《燕云十六声》游戏时装被指低俗</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">自动驾驶</div>
<div class="word-count">10 条提及 <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="自动驾驶 趋势图" 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>