微博热搜不保存 simplify 和 regulation 数据
This commit is contained in:
parent
590e209b2c
commit
51f6c2de1f
58
README.md
58
README.md
@ -112,11 +112,15 @@ npm i
|
||||
|
||||
`origin` 文件夹中的数据是通过Api接口获取到的原始数据,没有经过任何处理。
|
||||
|
||||
<!--
|
||||
`simplify` 文件夹中的数据是在原始数据的基础上,去除了部分冗余数据。
|
||||
-->
|
||||
|
||||
`final` 文件夹中的数据是从原始数据中抽离出的有用数据,并重新整理得到的。
|
||||
|
||||
<!--
|
||||
`regulation` 文件夹中的数据主要用于观测原始值与显示值不同的热搜,这部分热搜猜测可能是经过微博平台调控的。(这部分数据没有太大意义,可以忽略)
|
||||
-->
|
||||
|
||||
|
||||
|
||||
@ -154,20 +158,20 @@ npm i
|
||||
hotband // 本项目
|
||||
├─ data // 爬取的数据(启动项目后自动创建)
|
||||
├─ html // html 页面
|
||||
│ ├─ assets
|
||||
│ ├─ assets
|
||||
│ │ ├─ css // CSS 样式
|
||||
│ │ │ └─
|
||||
│ │ │ └─
|
||||
│ │ ├─ image // 前端图片资源
|
||||
│ │ │ ├─ ...
|
||||
│ │ └─ js
|
||||
│ │ └─ isMobile.js
|
||||
│ ├─ bilibili_hotband.html
|
||||
│ ├─ bilibili_rank.html
|
||||
│ └─ weibo_hotband.html
|
||||
│ │ │ ├─ ...
|
||||
│ │ └─ js
|
||||
│ │ └─ isMobile.js
|
||||
│ ├─ bilibili_hotband.html
|
||||
│ ├─ bilibili_rank.html
|
||||
│ └─ weibo_hotband.html
|
||||
├─ src // 数据爬取核心代码
|
||||
│ ├─ utils // 工具类代码
|
||||
│ │ ├─ fileUtils.js
|
||||
│ │ └─ requestUtils.js
|
||||
│ │ ├─ fileUtils.js
|
||||
│ │ └─ requestUtils.js
|
||||
│ ├─ execute_command.js // 执行命令行脚本(暂时没用到)
|
||||
│ ├─ get_bilibili_hotband.js // 获取 B站热搜榜 代码
|
||||
│ ├─ get_bilibili_rank.js // 爬取 B站排行榜 代码
|
||||
@ -176,15 +180,15 @@ hotband // 本项目
|
||||
├─ .env // 项目配置文件(需要自行创建)
|
||||
├─ index.html // html 页面打开文件
|
||||
├─ index.js // node 项目启动入口文件
|
||||
├─ nodemon.json
|
||||
├─ package-lock.json
|
||||
├─ package.json
|
||||
├─ pm2 restart.bat
|
||||
├─ pm2 restart.sh
|
||||
├─ pm2 start.bat
|
||||
├─ pm2 start.sh
|
||||
├─ pm2 stop.bat
|
||||
├─ pm2 stop.sh
|
||||
├─ nodemon.json
|
||||
├─ package-lock.json
|
||||
├─ package.json
|
||||
├─ pm2 restart.bat
|
||||
├─ pm2 restart.sh
|
||||
├─ pm2 start.bat
|
||||
├─ pm2 start.sh
|
||||
├─ pm2 stop.bat
|
||||
├─ pm2 stop.sh
|
||||
└─ README.md // 项目自述文件
|
||||
```
|
||||
|
||||
@ -195,28 +199,28 @@ hotband // 本项目
|
||||
data 文件夹下的目录结构如下
|
||||
|
||||
```bash
|
||||
data
|
||||
├─ bilibili-hotband
|
||||
│ ├─ final / origin
|
||||
data
|
||||
├─ bilibili-hotband
|
||||
│ ├─ final / origin
|
||||
│ │ └─ xxxx // 年
|
||||
│ │ └─ xx // 月
|
||||
│ │ └─ xx // 日
|
||||
│ │ ├─ xxxxxxxx_xxxx.min.json // 年月日_时分秒.min.json
|
||||
│ └─ latest.json // 最新的json文件
|
||||
├─ bilibili-rank
|
||||
│ ├─ origin
|
||||
├─ bilibili-rank
|
||||
│ ├─ origin
|
||||
│ │ └─ xxxx // 年
|
||||
│ │ └─ xx // 月
|
||||
│ │ └─ xx // 日
|
||||
│ │ ├─ xxxxxxxx_xxxx.min.json // 年月日_时分秒.min.json
|
||||
│ └─ latest.json // 最新的json文件
|
||||
└─ weibo-hotband
|
||||
├─ origin / final / simplify
|
||||
└─ weibo-hotband
|
||||
├─ origin / final / simplify
|
||||
│ └─ xxxx // 年
|
||||
│ └─ xx // 月
|
||||
│ └─ xx // 日
|
||||
│ ├─ xxxxxxxx_xxxx.min.json // 年月日_时分秒.min.json
|
||||
├─ regulation
|
||||
├─ regulation
|
||||
│ └─ xxxx // 年
|
||||
│ └─ xx // 月
|
||||
│ └─ xx // 日
|
||||
|
@ -61,11 +61,13 @@ async function main() {
|
||||
* 过滤掉不需要的数据
|
||||
*/
|
||||
// hotgov
|
||||
delete data.hotgov["mblog"];
|
||||
// 重复字段只保留一个
|
||||
delete data.hotgov["note"]; // note word
|
||||
delete data.hotgov["small_icon_desc"]; // icon_desc small_icon_desc
|
||||
delete data.hotgov["small_icon_desc_color"]; // icon_desc_color small_icon_desc_color
|
||||
if (data.hotgov) {
|
||||
delete data.hotgov["mblog"];
|
||||
// 重复字段只保留一个
|
||||
delete data.hotgov["note"]; // note word
|
||||
delete data.hotgov["small_icon_desc"]; // icon_desc small_icon_desc
|
||||
delete data.hotgov["small_icon_desc_color"]; // icon_desc_color small_icon_desc_color
|
||||
}
|
||||
|
||||
// band_list
|
||||
for (let i = 0; i < data.band_list.length; i++) {
|
||||
@ -154,51 +156,51 @@ async function main() {
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* 只统计微博调控信息
|
||||
*/
|
||||
let convert2 = [];
|
||||
let total = 0;
|
||||
data.band_list.forEach(item => {
|
||||
total += item.num;
|
||||
total -= item.raw_hot;
|
||||
if (item.num - item.raw_hot == 0) return;
|
||||
convert2.push([
|
||||
`[${item.realpos}] ${item.word}【${item.label_name}】`,
|
||||
`原始:${item.raw_hot} 显示:${item.num} 调控: ${item.num - item.raw_hot}`
|
||||
]);
|
||||
});
|
||||
fileUtils.saveJSON({
|
||||
saveFolder: DATA_FOLDER,
|
||||
now: now,
|
||||
fileNameSuffix: `regulation`,
|
||||
object: {
|
||||
total_delta: total, // 所有调控值之和
|
||||
data: convert2
|
||||
},
|
||||
compress: false,
|
||||
uncompress: true
|
||||
});
|
||||
// /**
|
||||
// * 只统计微博调控信息
|
||||
// */
|
||||
// let convert2 = [];
|
||||
// let total = 0;
|
||||
// data.band_list.forEach(item => {
|
||||
// total += item.num;
|
||||
// total -= item.raw_hot;
|
||||
// if (item.num - item.raw_hot == 0) return;
|
||||
// convert2.push([
|
||||
// `[${item.realpos}] ${item.word}【${item.label_name}】`,
|
||||
// `原始:${item.raw_hot} 显示:${item.num} 调控: ${item.num - item.raw_hot}`
|
||||
// ]);
|
||||
// });
|
||||
// fileUtils.saveJSON({
|
||||
// saveFolder: DATA_FOLDER,
|
||||
// now: now,
|
||||
// fileNameSuffix: `regulation`,
|
||||
// object: {
|
||||
// total_delta: total, // 所有调控值之和
|
||||
// data: convert2
|
||||
// },
|
||||
// compress: false,
|
||||
// uncompress: true
|
||||
// });
|
||||
|
||||
|
||||
/**
|
||||
* 保存预处理后数据
|
||||
*/
|
||||
// 过滤掉不需要的数据
|
||||
// band_list
|
||||
data.band_list.forEach(function (item) {
|
||||
delete item["mblog"];
|
||||
});
|
||||
fileUtils.saveJSON({
|
||||
saveFolder: DATA_FOLDER,
|
||||
now: now,
|
||||
fileNameSuffix: `simplify`,
|
||||
object: data,
|
||||
compress: true,
|
||||
// uncompress: true,
|
||||
// compress: false,
|
||||
uncompress: false,
|
||||
});
|
||||
// /**
|
||||
// * 保存预处理后数据
|
||||
// */
|
||||
// // 过滤掉不需要的数据
|
||||
// // band_list
|
||||
// data.band_list.forEach(function (item) {
|
||||
// delete item["mblog"];
|
||||
// });
|
||||
// fileUtils.saveJSON({
|
||||
// saveFolder: DATA_FOLDER,
|
||||
// now: now,
|
||||
// fileNameSuffix: `simplify`,
|
||||
// object: data,
|
||||
// compress: true,
|
||||
// // uncompress: true,
|
||||
// // compress: false,
|
||||
// uncompress: false,
|
||||
// });
|
||||
|
||||
|
||||
/**
|
||||
@ -207,7 +209,7 @@ async function main() {
|
||||
fs.writeFileSync(`${DATA_FOLDER}/latest.json`, JSON.stringify({
|
||||
update_time: requestTimestamp,
|
||||
update_time_friendly: now.substring(0, 19).replace(/T/g, " "),
|
||||
regulation: convert2,
|
||||
// regulation: convert2,
|
||||
data: convert
|
||||
}));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user