如何使用 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()
相关文章
|
存储 缓存 文件存储
如何保证分布式文件系统的数据一致性
分布式文件系统需要向上层应用提供透明的客户端缓存,从而缓解网络延时现象,更好地支持客户端性能水平扩展,同时也降低对文件服务器的访问压力。当考虑客户端缓存的时候,由于在客户端上引入了多个本地数据副本(Replica),就相应地需要提供客户端对数据访问的全局数据一致性。
32698 79
如何保证分布式文件系统的数据一致性
|
前端开发 容器
HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第8章FlexBox布局(上)
HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第8章FlexBox布局
17751 20
|
设计模式 存储 监控
设计模式(C++版)
看懂UML类图和时序图30分钟学会UML类图设计原则单一职责原则定义:单一职责原则,所谓职责是指类变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。而单一职责原则就是指一个类或者模块应该有且只有一个改变的原因。bad case:IPhone类承担了协议管理(Dial、HangUp)、数据传送(Chat)。good case:里式替换原则定义:里氏代换原则(Liskov 
36682 19
设计模式(C++版)
|
存储 编译器 C语言
抽丝剥茧C语言(初阶 下)(下)
抽丝剥茧C语言(初阶 下)
|
机器学习/深度学习 人工智能 自然语言处理
带你简单了解Chatgpt背后的秘密:大语言模型所需要条件(数据算法算力)以及其当前阶段的缺点局限性
带你简单了解Chatgpt背后的秘密:大语言模型所需要条件(数据算法算力)以及其当前阶段的缺点局限性
24758 14
|
机器学习/深度学习 弹性计算 监控
重生之---我测阿里云U1实例(通用算力型)
阿里云产品全线降价的一力作,2023年4月阿里云推出新款通用算力型ECS云服务器Universal实例,该款服务器的真实表现如何?让我先测为敬!
36660 15
重生之---我测阿里云U1实例(通用算力型)
|
SQL 存储 弹性计算
Redis性能高30%,阿里云倚天ECS性能摸底和迁移实践
Redis在倚天ECS环境下与同规格的基于 x86 的 ECS 实例相比,Redis 部署在基于 Yitian 710 的 ECS 上可获得高达 30% 的吞吐量优势。成本方面基于倚天710的G8y实例售价比G7实例低23%,总性价比提高50%;按照相同算法,相对G8a,性价比为1.4倍左右。
|
存储 算法 Java
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的限流器RateLimiter功能服务
随着互联网的快速发展,越来越多的应用程序需要处理大量的请求。如果没有限制,这些请求可能会导致应用程序崩溃或变得不可用。因此,限流器是一种非常重要的技术,可以帮助应用程序控制请求的数量和速率,以保持稳定和可靠的运行。
29838 52

热门文章

最新文章

下一篇
开通oss服务