如何使用 Python 调用小红书笔记评论 API 时进行数据可视化?

简介: 下面给你一套最简单、直接能用的小红书评论数据可视化方案,用 Python + 通用库 matplotlib / pyecharts 实现,不需要复杂配置。

下面给你一套最简单、直接能用的小红书评论数据可视化方案,用 Python + 通用库 matplotlib / pyecharts 实现,不需要复杂配置。

一、整体思路

  1. 调用小红书笔记评论 API 获取 JSON 数据
  2. 解析出:点赞数、评论时间、用户名、评论内容长度等
  3. 用图表展示:
  • 评论点赞分布
  • 评论时间趋势
  • 评论长度统计
  • 热门评论词云(可选)

二、安装依赖

bash

运行

pip install requests matplotlib pandas

三、完整代码(调用 API + 解析 + 可视化)

python

运行

import requests
import matplotlib.pyplot as plt
import time
# ===================== 配置 =====================
ACCESS_TOKEN = "你的token"
NOTE_ID = "笔记ID"
# =================================================
def get_xhs_comments(note_id, cursor=""):
    """获取评论"""
    url = f"https://api.xiaohongshu.com/v2/notes/{note_id}/comments"
    headers = {"Authorization": f"Bearer {ACCESS_TOKEN}"}
    params = {"cursor": cursor, "page_size": 50, "sort": "time"}
    resp = requests.get(url, headers=headers, params=params)
    return resp.json()
def parse_comments(json_data):
    """解析评论数据"""
    comments = json_data.get("data", {}).get("comments", [])
    result = []
    for c in comments:
        result.append({
            "like": c.get("like_count", 0),
            "time": c.get("create_time", 0),
            "content_len": len(c.get("content", "")),
            "username": c.get("user", {}).get("nickname", "")
        })
    return result
# 获取并解析
data = get_xhs_comments(NOTE_ID)
comment_list = parse_comments(data)
# 提取数据用于画图
likes = [c["like"] for c in comment_list]
times = [c["time"] for c in comment_list]
lengths = [c["content_len"] for c in comment_list]
# ===================== 可视化 =====================
plt.rcParams["font.sans-serif"] = ["SimHei"]  # 显示中文
plt.rcParams["axes.unicode_minus"] = False
# 1. 点赞数分布柱状图
plt.figure(figsize=(12,5))
plt.subplot(1,3,1)
plt.bar(range(len(likes)), likes, color="#ff5c5c")
plt.title("评论点赞数")
plt.xlabel("评论序号")
plt.ylabel("点赞数")
# 2. 评论长度分布
plt.subplot(1,3,2)
plt.hist(lengths, bins=10, color="#5ac8fa")
plt.title("评论长度分布")
plt.xlabel("字数")
plt.ylabel("条数")
# 3. 评论时间折线(时间戳转时间)
time_str = [time.strftime("%m-%d %H:%M", time.localtime(t)) for t in times]
plt.subplot(1,3,3)
plt.plot(time_str, likes, marker="o", color="#34c759")
plt.title("点赞-时间趋势")
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

四、你会得到三张图

  1. 评论点赞数柱状图:看出哪些评论最火
  2. 评论长度分布图:用户爱发短评还是长评
  3. 评论时间 - 点赞趋势图:互动热度随时间变化

五、更高级可视化(词云)

如果你想看评论关键词云,可以用:

bash

运行

pip install wordcloud jieba

python

运行

from wordcloud import WordCloud
import jieba
# 拼接所有评论内容
contents = [c.get("content", "") for c in json_data["data"]["comments"]]
text = " ".join(contents)
words = " ".join(jieba.lcut(text))
wc = WordCloud(
    font_path="msyh.ttc",  # Windows
    # font_path="PingFang.ttc"  # Mac
    width=800, height=400, background_color="white"
)
wc.generate(words)
wc.to_file("xhs_wordcloud.png")
plt.imshow(wc)
plt.axis("off")
plt.show()
相关文章
|
JavaScript API 开发者
使用 u-navbar 组件实现页面导航和布局的完全指南
使用 u-navbar 组件实现页面导航和布局的完全指南
2529 0
|
6月前
|
缓存 自然语言处理 安全
TikTok item_get_video - 获取视频详情接口对接全攻略:从入门到精通
TikTok `item_get_video` 接口可精准获取视频详情,支持播放量、商品标签、BGM等字段,适用于跨境内容聚合、带货分析与品牌舆情监测。提供官方OAuth2.0与第三方key-secret两种接入方式,本文详解权限申请、签名认证、Python实操及生产优化,助力高效稳定对接。
|
6月前
|
人工智能 自然语言处理 API
构建AI智能体:四十二、使用 Qwen-Agent Assistant 调用高德 API 实现天气查询
本文介绍了如何将Qwen-Agent智能助手与高德天气API集成,构建一个能响应自然语言查询的天气服务系统。主要内容包括:高德天气API的注册、参数配置及数据解析方法;Qwen-Agent框架中Assistant类的核心功能和使用方式;通过FunctionCall和Assistant两种实现方式的对比;完整示例展示了从工具定义、API集成到交互界面开发的实现过程。该系统支持终端和Web两种交互模式,可扩展为智能客服、物联网控制等场景,为开发者提供了大模型与实际API服务结合的典型范例。
1029 7
|
5月前
|
弹性计算 安全 Linux
2026年新手小白租用阿里云服务器全流程步骤(手把手教程)
对于首次接触云服务器的新手来说,租用流程可能略显复杂。以阿里云为例,其提供多种服务器类型与配置选项,适配不同需求。下面用通俗语言拆解从注册到完成租用的全步骤,结合最新配置细节与价格参考,帮助快速拥有专属云服务器。
|
6月前
|
JSON 缓存 API
小红书笔记评论API开发指南
小红书笔记评论API支持获取评论列表、详情及发布新评论,提供点赞、回复等互动数据,适用于内容分析与用户运营。基于Bearer Token认证,返回JSON格式数据,建议结合分页、异步请求与缓存机制提升效率,遵守调用频率限制,确保采集稳定可靠。
|
人工智能 自然语言处理 Java
为什么越来越多企业用阿里云发短信?稳定、合规、高到达率的背后
短信仍是企业触达用户的“最后一公里”,阿里云短信服务凭借合规报备、99%高到达率、失败不计费及透明计价等优势,成为电商、物流、政务等行业首选。开发友好,10分钟快速接入,助力企业稳定高效通信。
533 0
|
人工智能 Kubernetes Java
回归开源,两位 Java 和 Go 程序员分享的开源贡献指引
Higress是一个基于Istio和Envoy的云原生API网关,支持AI功能扩展。它通过Go/Rust/JS编写的Wasm插件提供可扩展架构,并包含Node和Java的console模块。Higress起源于阿里巴巴,解决了Tengine配置重载及gRPC/Dubbo负载均衡问题,现已成为阿里云API网关的基础。本文介绍Higress的基本架构、功能(如AI网关、API管理、Ingress流量网关等)、部署方式以及如何参与开源贡献。此外,还提供了有效的开源贡献指南和社区交流信息。
2239 33
|
算法 Swift 开发者
【Swift开发专栏】Swift开发者的进阶之路:从新手到专家
【4月更文挑战第30天】本文介绍了Swift开发者从基础到专家的成长路径,包括掌握语言基础如语法、数据结构、错误处理和内存管理;深入学习Apple框架如UIKit、Core Data和CloudKit;关注性能优化、架构设计及网络与安全编程;以及持续学习新技术,参与开源项目,建立专业网络。通过不断学习和实践,开发者可逐步成为Swift专家。
538 0
|
监控 Linux 数据安全/隐私保护
问题记录:开机提示emergency mode(紧急模式)如何处理
在依赖Linux作为核心操作系统的环境中,系统的稳定和可靠性通常是我们理所当然的期待。然而,即使是最稳定的系统,有时也会在启动时出现异常,突然推到紧急模式的怀抱。这种模式,通常有被称为“Emergency Mode”,在Linux系统面临关键错误时作为一种安全网,但对于那些不熟悉如何应对此类问题的小伙伴来说,它可能带来困惑甚至恐慌。
问题记录:开机提示emergency mode(紧急模式)如何处理

热门文章

最新文章