python采集小红书笔记详情API接口,json数据示例分享

以下是一个基于Python模拟请求小红书笔记详情接口的技术示例,包含关键字段解析和合规注意事项提醒。请严格遵守平台规则,仅限授权范围内的合法数据采集。

用户需要知道如何发送HTTP请求,处理可能的反爬机制,比如加密参数、Cookie验证、IP限制等。小红书的接口可能有动态参数,比如__signature,这需要分析JavaScript代码来生成。此外,请求头中的User-Agent、Referer等信息也需要正确设置,否则容易被识别为爬虫。

然后,JSON数据的结构。用户可能需要示例数据来理解返回的信息。通常,笔记详情会包含作者信息、内容、互动数据(点赞、评论、收藏)、标签、发布时间等。例如,用户ID、笔记标题、正文、图片链接、标签列表、点赞数等字段。

在代码示例中,可能需要使用requests库发送GET或POST请求,处理可能的加密参数。比如,有些参数可能需要通过JavaScript函数生成,这时候可能需要用execjs或者PyExecJS来执行JS代码。此外,还需要处理Cookie,可能需要用户自己提供有效的Cookie来验证身份,否则可能无法获取数据。

一、请求参数分析(示例)

复制代码
# coding:utf-8
"""
Compatible for python2.x and python3.x
requirement: pip install requests
"""
from __future__ import print_function
import requests
# 请求示例 url 默认请求参数已经做URL编码
url = "https://api-gw.onebound.cn/smallredbook/item_get_video/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=670202b0000000002a032d2d&xsec_token=ABqixHfLobMJG4HpXyvXkCe-LXxeIR1B2uvdFd8FuikaM="
headers = {
    "Accept-Encoding": "gzip",
    "Connection": "close"
}
if __name__ == "__main__":
    r = requests.get(url, headers=headers)
    json_obj = r.json()
    print(json_obj)

二、响应数据示例(脱敏后)

复制代码
{
	"item": {
		"num_iid": "649c46ab000000002702ad36",
		"detail_url": "https://www.xiaohongshu.com/explore/649c46ab000000002702ad36",
		"title": "变形金刚4",
		"type": "video",
		"video": "http://sns-video-qc.xhscdn.com/stream/110/258/01e49c46a63bcd390103770389027d1ad7_258.mp4?sign=180a24669a446bf75a3ec79f41926bcb&t=64a04c54",
		"pic_url": "https://sns-img-hw.xhscdn.com/0ccd59b9-71ad-d2c0-ec5a-afac90d21355?imageView2/2/h/1920/format/webp|imageMogr2/strip",
		"tag_list": [
			{
				"name": "变形金刚",
				"type": "topic",
				"id": "545c2716d6e4a924bf74ed49"
			}
		],
		"desc": "  这就是柱子哥的魅力",
		"city": "河北",
		"nick": "变形金刚电影剪辑",
		"uid": "64805fc1000000000f004891",
		"interact_info": {
			"liked_count": "41",
			"collected_count": "16",
			"comment_count": "0"
		},
		"time": "2023-06-28 22:41:47",
		"_ddf": "mt"
	},
	"error": "",
	"reason": "",
	"error_code": "0000",

三、字段解析

Version: Date:

名称 类型 必须 示例值 描述
item item[] 0 获取用户作品
num_iid String 0 649c46ab000000002702ad36 作品ID
detail_url String 0 https://www.xiaohongshu.com/explore/649c46ab000000002702ad36 作品链接
title String 0 变形金刚4 作品标题
type String 0 video 作品类型
video String 0 http://sns-video-qc.xhscdn.com/stream/110/258/01e49c46a63bcd390103770389027d1ad7_258.mp4?sign=180a24669a446bf75a3ec79f41926bcb\&t=64a04c54 视频地址
pic_url String 0 https://sns-img-hw.xhscdn.com/0ccd59b9-71ad-d2c0-ec5a-afac90d21355?imageView2/2/h/1920/format/webp|imageMogr2/strip 作品主图
tag_list String 0 [] 作品话题
相关推荐
CoderYanger1 天前
C.滑动窗口-求子数组个数-越长越合法——2799. 统计完全子数组的数目
java·c语言·开发语言·数据结构·算法·leetcode·职场和发展
廋到被风吹走1 天前
【数据库】【MySQL】InnoDB外键解析:约束机制、性能影响与最佳实践
android·数据库·mysql
C++业余爱好者1 天前
Java 提供了8种基本数据类型及封装类型介绍
java·开发语言·python
想用offer打牌1 天前
RocketMQ如何防止消息丢失?
java·后端·架构·开源·rocketmq
皮卡龙1 天前
Java常用的JSON
java·开发语言·spring boot·json
掘根1 天前
【消息队列】交换机数据管理实现
网络·数据库
Logic1011 天前
《Mysql数据库应用》 第2版 郭文明 实验6 数据库系统维护核心操作与思路解析
数据库·sql·mysql·学习笔记·计算机网络技术·形考作业·国家开放大学
利刃大大1 天前
【JavaSE】十三、枚举类Enum && Lambda表达式 && 列表排序常见写法
java·开发语言·枚举·lambda·排序
float_六七1 天前
Java反射:万能遥控器拆解编程
java·开发语言
AI Echoes1 天前
构建一个LangChain RAG应用
数据库·python·langchain·prompt·agent