小红书item_get接口JSON数据解析指南

一、核心解析逻辑

通过Python的json模块解析小红书item_get接口返回的JSON数据,核心步骤如下:

1. 数据获取与解析

makefile 复制代码
python
import json
 
# 示例JSON数据(实际使用需替换为API返回内容)
json_data = '''{
    "title": "2023新款女装短袖t恤",
    "price": 8.8,
    "item_imgs": [{"url": "http://example.com/detail1.jpg"}],
    "specification": [{"key": "尺寸", "value": "160x75x8mm"}],
    "interact_info": {"liked_count": 1000}
}'''
 
# 解析为Python字典
data = json.loads(json_data)

2. 字段提取示例

ini 复制代码
python
# 基础字段
title = data.get('title', '')
price = data.get('price', 0.0)
 
# 图片列表处理
detail_urls = [img['url'] for img in data.get('item_imgs', [])]
 
# 规格参数处理
specs = [f"{spec['key']}: {spec['value']}" for spec in data.get('specification', [])]
 
# 互动数据
likes = data['interact_info'].get('liked_count', 0)

二、完整数据结构解析

接口返回的JSON数据包含以下核心字段:

字段类别 字段名 示例值 说明
商品基本信息 title "2023新款女装短袖t恤" 商品标题
price 8.8 当前价格
original_price 10.0 原价
num 100 库存数量
图片信息 pic_url "example.com/main.jpg" 主图URL
item_imgs [{"url": "..."}] 详情图列表
规格参数 specification [{"key": "尺寸", "value": "160x75x8mm"}] 商品规格
售后服务 return_policy "7天无理由退换货" 退换政策
warranty "1年" 保修期
评价信息 total_reviews 1000 评价总数
positive_rate 95.0 好评率
互动数据 liked_count 1000 点赞数
comment_count 200 评论数
作者信息 nick "某品牌官方旗舰店" 卖家昵称
city "上海" 所在城市

三、完整解析代码示例

python 复制代码
python
import json
 
def parse_item_data(json_str):
    data = json.loads(json_str)
    
    # 基础信息
    result = {
        "商品标题": data.get('title', ''),
        "当前价格": data.get('price', 0.0),
        "原价": data.get('original_price', 0.0),
        "库存": data.get('num', 0),
        "品牌": data.get('brand', ''),
        "主图URL": data.get('pic_url', '')
    }
    
    # 图片处理
    result["详情图"] = [img['url'] for img in data.get('item_imgs', [])]
    result["属性图"] = [img['url'] for img in data.get('prop_imgs', [])]
    
    # 规格参数
    specs = []
    for spec in data.get('specification', []):
        specs.append(f"{spec.get('key', '')}: {spec.get('value', '')}")
    result["规格参数"] = "; ".join(specs)
    
    # 服务信息
    service = data.get('after_service', {})
    result["退换政策"] = service.get('return_policy', '')
    result["保修期"] = service.get('warranty', '')
    
    # 互动数据
    interact = data.get('interact_info', {})
    result["点赞数"] = interact.get('liked_count', 0)
    result["评论数"] = interact.get('comment_count', 0)
    result["收藏数"] = interact.get('collect_count', 0)
    
    return result
 
# 测试示例
if __name__ == "__main__":
    test_data = '''{
        "title": "测试商品",
        "price": 99.9,
        "item_imgs": [{"url": "img1.jpg"}, {"url": "img2.jpg"}],
        "specification": [{"key": "颜色", "value": "红色"}],
        "interact_info": {"liked_count": 150}
    }'''
    parsed = parse_item_data(test_data)
    for k, v in parsed.items():
        print(f"{k}: {v}")

四、关键注意事项

  1. 字段缺失处理 :使用.get()方法并提供默认值,避免KeyError
  2. 嵌套结构处理:对列表/字典类型字段进行遍历处理
  3. 数据类型验证:价格/数量等字段建议转换为数值类型
  4. 异常处理:建议添加try-except处理JSON解析错误
  5. 实际调用:正式环境需通过API密钥生成签名,并处理API返回状态码

通过以上方法,可系统化解析小红书item_get接口返回的JSON数据,提取商品核心信息、图片资源、规格参数及互动数据等关键业务指标。

相关推荐
闲人编程1 天前
使用FastAPI和WebSocket构建高性能实时聊天系统
websocket·网络协议·网络编程·fastapi·持久化·实时聊天·codecapsule
失忆爆表症1 天前
01_项目搭建指南:从零开始的 Windows 开发环境配置
windows·postgresql·fastapi·milvus
PD我是你的真爱粉1 天前
FastAPI使用tortoiseORM
数据库·fastapi
玄同7652 天前
Python 后端三剑客:FastAPI/Flask/Django 对比与 LLM 开发选型指南
人工智能·python·机器学习·自然语言处理·django·flask·fastapi
张3蜂3 天前
Python 四大 Web 框架对比解析:FastAPI、Django、Flask 与 Tornado
前端·python·fastapi
雪碧聊技术3 天前
ORM简介、安装、使用流程
fastapi·orm·基础代码编写
曲幽3 天前
FastAPI实战:用懒加载与Lifespan优雅管理重型依赖
fastapi·async·lifespan·lazy loading·startup event
雪碧聊技术3 天前
ORM-查询
fastapi·orm·查询