65 lines
1.8 KiB
JavaScript
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);
|