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 [] 作品话题
相关推荐
80530单词突击赢1 分钟前
云原生时代:.NET与Java的K8s进化论
java
hhy_smile3 分钟前
Special method in class
java·开发语言
alien爱吃蛋挞4 分钟前
【JavaEE】万字详解Mybatis(上)
数据库·java-ee·mybatis
写代码的【黑咖啡】4 分钟前
HiveSQL 语法详解与常用 SQL 写法实战
数据库·sql
我命由我123457 分钟前
Android 开发 Room 数据库升级问题:A migration from 6 to 7 was required but not found.
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
黄筱筱筱筱筱筱筱8 分钟前
7.适合新手小白学习Python的异常处理(Exception)
java·前端·数据库·python
Stecurry_3011 分钟前
Springboot整合SpringMVC --从0到1
java·spring boot·后端
Serene_Dream11 分钟前
NIO 的底层机理
java·jvm·nio·mmap
怣5012 分钟前
MySQL WHERE子句完全指南:精准过滤数据的艺术
数据库·mysql
skywalker_1115 分钟前
多线程&JUC
java·开发语言·jvm·线程池