1
0
Code Issues Pull Requests Projects Releases Wiki Activity GitHub Gitee
tools/README.md

85 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 微博热搜数据爬取工具
> 本仓库中代码仅供学习研究使用,不得用于违法用途。
>
> 数据来自微博,本项目不对数据真实性做验证,使用数据时请遵守微博平台的相关限制要求。
## 简介
您可以将本项目代码部署在服务器上(在本地运行也可),程序会每隔一分钟拉取一次微博热搜数据,并保存为 `json` 格式文件。
## 数据预览
在部署并启动项目后,您可以在浏览器中打开 `html/index.html` 文件实时预览当前热搜。
## 数据来源
微博热搜接口https://weibo.com/ajax/statuses/hot_band
该接口来自微博web端网址https://weibo.com/newlogin?tabtype=search
## 运行环境
原理上来说 Windows 下和 Linux 都可运行,目前仅在 Windows 下测试过,暂未在 Linux 系统下测试。
项目使用 node 开发,以下部署流程默认您已安装了 `Git`、`Nodejs`。
## 部署
1. 克隆仓库(或直接下载压缩包)
```bash
git clone https://git.only4.work/coder-xiaomo/weibo-hotband
```
2. 安装依赖
```bash
npm i
```
3. 修改配置文件
将项目目录下的 `.env.example` 文件复制一份,并改名为 `.env`使用文本编辑器打开例如记事本、VS Code、vim等均可根据其中的注释说明来进行配置即可。
> 如果不创建 .env 文件,项目启动时会报如下错误并退出。
> ```bash
> [ERROR] .env file not found!
> ```
4. 启动项目
```bash
# 直接运行
# node index.js
# 使用 pm2
# pm2 start index.js --name weibo-hotband-bot
```
5. 停止项目
```bash
# 使用 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` 文件夹中的数据主要用于观测原始值与显示值不同的热搜,这部分热搜猜测可能是经过微博平台调控的。(这部分数据没有太大意义,可以忽略)