#!/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);