Node.js 实现微博话题趋势查询接口教程
简介
本教程介绍如何使用 Node.js
搭建一个简单的 HTTP 服务,基于 Express 和 Axios 提供一个可以查询微博话题趋势的接口。用户可以通过 GET 请求指定关键词(search
)和时间范围(time
)获取相关数据。
功能概述
- 技术栈:Express.js(搭建服务器)、Axios(发起 HTTP 请求)
- 核心功能:实现一个 GET 接口
/search
,通过search
参数指定查询话题,通过time
参数控制时间范围(如 1小时、1天、7天、30天)。 - API 源地址:接口将数据请求重定向到微博的 AJAX 接口
https://m.s.weibo.com/ajax_topic/trend
。
代码结构
导入模块
1 | const express = require('express'); // Express.js 用于搭建 Web 服务器 |
配置服务器
1.创建 Express 实例
2.定义服务器监听的端口号
1 | const app = express(); |
实现 GET 接口 /search
-
接口参数:
search(必填):查询的话题名称 time(必填):时间范围(可选值为 6m, 24h, 7d, 30d)
-
请求头:设置 User-Agent 和模拟的 Cookie
-
核心功能:通过 Axios 将用户请求转发到微博的趋势 API,并返回结果。
1 | app.get('/search', async (req, res) => { |
启动服务器
监听指定端口,并打印成功启动的提示信息
1 | app.listen(port, () => { |
运行
1.环境准备
- 确保已安装 Node.js 和 npm。
- 安装所需依赖:
1 | npm install express axios |
2. 保存代码
将上述代码保存到文件中,例如:weibo.js。
3. 启动服务
在终端运行以下命令
1 | node weibo.js |
启动后,服务将在 http://localhost:3000 运行。
4. 测试接口
可以使用浏览器或 Postman 测试接口
1 | GET http://localhost:3000/search?search=你的关键词&time=24h |
响应事例
1 | { |
完整代码
1 | const express = require('express'); |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ldyer!
评论