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">95 条</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-13 14:17</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 ">11</span><span class="time-info">14时17分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2227945" target="_blank" class="news-link">硬科技投向标|摩尔线程下周发布新一代GPU架构 众擎机器人完成两轮融资</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">9级地震</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>四川彭州发生3.9级地震</li><li>成都发生3.9级地震</li><li>四川成都彭州市发生3.9级地震,震源深度13千米</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>长安二十四计</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">2 条提及 <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>