Files
nanocode/playwright-hotspots/scripts/get-all-hotspots.js
T
Ubuntu 32b43f85bd a
2026-07-03 16:58:28 +08:00

65 lines
1.8 KiB
JavaScript

#!/usr/bin/env node
/**
* 获取所有平台热点
*/
const { fetchWeiboHot } = require('../src/platforms/weibo');
const { fetchBilibiliTrending } = require('../src/platforms/bilibili');
const { fetchZhihuHot } = require('../src/platforms/zhihu');
async function getAllHotspots() {
console.log('='.repeat(80));
console.log('🔥 中文平台热点聚合抓取');
console.log('='.repeat(80));
const results = {
timestamp: new Date().toISOString(),
platforms: {},
};
// 微博
try {
console.log('\n📌 1. 微博热搜');
results.platforms.weibo = await fetchWeiboHot();
} catch (e) {
console.error('微博抓取失败:', e.message);
results.platforms.weibo = { error: e.message };
}
// B站
try {
console.log('\n📌 2. B站热搜');
results.platforms.bilibili = await fetchBilibiliTrending();
} catch (e) {
console.error('B站抓取失败:', e.message);
results.platforms.bilibili = { error: e.message };
}
// 知乎
try {
console.log('\n📌 3. 知乎热榜');
results.platforms.zhihu = await fetchZhihuHot();
} catch (e) {
console.error('知乎抓取失败:', e.message);
results.platforms.zhihu = { error: e.message };
}
console.log('\n' + '='.repeat(80));
console.log('✅ 所有平台抓取完成');
console.log('='.repeat(80));
// 保存汇总
const fs = require('fs');
const path = require('path');
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
const filepath = path.join(__dirname, '../data', `all_hotspots_${timestamp}.json`);
fs.mkdirSync(path.dirname(filepath), { recursive: true });
fs.writeFileSync(filepath, JSON.stringify(results, null, 2), 'utf-8');
console.log(`💾 汇总数据已保存: ${filepath}`);
return results;
}
getAllHotspots().catch(console.error);