1
0
Code Issues Pull Requests Projects Releases Wiki Activity GitHub Gitee
nodejs写的一些小工具
Go to file
2022-07-29 16:51:28 +08:00
html 添加B站排行榜页面(内容是微博热搜的,需要更新) 2022-07-29 16:31:06 +08:00
src 添加B站排行榜接口拉取 2022-07-29 16:25:59 +08:00
.env.example 添加仅保存最近latest.json选项 2022-07-27 00:26:13 +08:00
.gitignore 环境变量 .env 文件不添加到git仓库 2022-07-24 10:55:19 +08:00
index.html 父html下方导航栏动态渲染 2022-07-29 16:51:28 +08:00
index.js 添加B站排行榜接口拉取 2022-07-29 16:25:59 +08:00
nodemon.json nodemon 在 json 文件变化时不重启程序 2022-07-24 00:36:18 +08:00
package-lock.json 执行命令行代码逻辑优化;解决中文乱码问题 2022-07-24 00:35:31 +08:00
package.json 执行命令行代码逻辑优化;解决中文乱码问题 2022-07-24 00:35:31 +08:00
pm2 restart.bat 添加批处理命令 2022-07-24 14:34:48 +08:00
pm2 restart.sh 添加批处理命令 2022-07-24 14:34:48 +08:00
pm2 start.bat 添加批处理命令 2022-07-24 14:34:48 +08:00
pm2 start.sh 添加批处理命令 2022-07-24 14:34:48 +08:00
pm2 stop.bat 添加批处理命令 2022-07-24 14:34:48 +08:00
pm2 stop.sh 添加批处理命令 2022-07-24 14:34:48 +08:00
README.md 添加B站排行榜接口拉取 2022-07-29 16:25:59 +08:00

热搜数据爬取工具

本仓库中代码仅供学习研究使用不得用于违法用途学习使用完毕后请于24小时内删除。

数据来自微博、B站热搜榜单本项目不对数据真实性做验证使用数据时请遵守相关平台的相关限制要求。

简介

您可以将本项目代码部署在服务器上(在本地运行也可),程序会每隔一分钟拉取一次热搜数据,并保存为 json 格式文件。

数据预览

在部署并启动项目后,您可以在浏览器中打开 html/index.html 文件实时预览当前热搜。

数据来源

微博热搜接口:https://weibo.com/ajax/statuses/hot_band

该接口来自页面:https://weibo.com/newlogin?tabtype=search

B站热搜接口https://app.bilibili.com/x/v2/search/trending/ranking

该接口来自页面:https://www.bilibili.com/blackboard/activity-trending-topic.html

B站排行榜接口https://api.bilibili.com/x/web-interface/ranking/v2?type=all

该接口来自页面:https://www.bilibili.com/v/popular/rank/all (切换到其他榜单再切换回来会调用此接口)

运行环境

原理上来说 Windows 下和 Linux 都可运行,目前仅在 Windows 下测试过,暂未在 Linux 系统下测试。

项目使用 node 开发,以下部署流程默认您已安装了 GitNodejs

部署

  1. 克隆仓库(或直接下载压缩包)
git clone https://git.only4.work/coder-xiaomo/weibo-hotband
  1. 安装依赖
npm i
  1. 修改配置文件

将项目目录下的 .env.example 文件复制一份,并改名为 .env使用文本编辑器打开例如记事本、VS Code、vim等均可根据其中的注释说明来进行配置即可。

如果不创建 .env 文件,项目启动时会报如下错误并退出。

[ERROR] .env file not found!
  1. 启动项目
# 直接运行
# node index.js

# 使用 pm2
# pm2 start index.js --name weibo-hotband-bot
  1. 停止项目
# 使用 node index.js 命令直接运行的项目可以通过 `Ctrl + C` 停止

# 使用 pm2 运行的可以使用以下两行命令来停止和从列表中删除项目
# pm2 stop weibo-hotband-bot
# pm2 delete weibo-hotband-bot

说明

项目爬取的数据默认保存在项目目录下的 data 文件夹中,您也可以通过修改 .env 文件中的 DATA_FOLDER 参数值来自定义数据保存路径。

在程序运行后,该文件夹下会出现 latest.json 文件及其余几个文件夹,这些子文件夹中的文件按照以下格式保存:年/月/日/年月日_时分.json

每次爬取后,latest.json中的数据都会被覆盖为最新的热搜数据。

origin 文件夹中的数据是通过Api接口获取到的原始数据没有经过任何处理。

simplify 文件夹中的数据是在原始数据的基础上,去除了部分冗余数据。

final 文件夹中的数据是从原始数据中抽离出的有用数据,并重新整理得到的。

regulation 文件夹中的数据主要用于观测原始值与显示值不同的热搜,这部分热搜猜测可能是经过微博平台调控的。(这部分数据没有太大意义,可以忽略)