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 [] 作品话题
相关推荐
Eternity......12 分钟前
spark MySQL数据库配置
数据库·mysql·spark
Freedom℡13 分钟前
使用scp命令拷贝hadoop100中文件到其他虚拟机中
数据库·hadoop·spark
Qdgr_17 分钟前
电厂除灰系统优化:时序数据库如何降低粉尘排放
数据库·时序数据库
枣伊吕波18 分钟前
第六节第二部分:抽象类的应用-模板方法设计模式
android·java·设计模式
xinxiyinhe21 分钟前
内存泄漏与OOM崩溃根治方案:JVM与原生内存池差异化排查手册
java·开发语言·jvm
心向阳光的天域25 分钟前
黑马Java跟学.最新AI+若依框架项目开发(一)
java
what_201830 分钟前
分布式链路跟踪
java·运维·分布式
慧一居士38 分钟前
Memcached 服务搭建和集成使用的详细步骤示例
数据库·架构·nosql·memcached
oliveira-time38 分钟前
ArrayList和LinkedList区别
java·开发语言
潮流coder41 分钟前
IntelliJ IDEA给Controller、Service、Mapper不同文件设置不同的文件头注释模板、Velocity模板引擎
java·ide·intellij-idea