模拟天猫商品评论的Python API实现,返回符合风格的JSON数据

知名用户180079054733个月前未分类214

以下是一个模拟天猫商品评论的Python API实现,返回符合天猫风格的JSON数据:

pythonimport randomfrom faker import Fakerimport jsonfrom datetime import datetime, timedeltafake = Faker()# 天猫用户等级体系user_levels = ['注册用户', '铜牌会员', '银牌会员', '金牌会员', '钻石会员']# 天猫评分体系rating_map = {    '差评': 1,    '中评': 3,    '好评': 5}def generate_comments(product_id, num_comments=100):    """生成天猫风格评论数据"""    comments = []    for _ in range(num_comments):        # 基础评论信息        comment = {            "comment_id": fake.random_number(digits=10),            "user_id": fake.random_number(digits=8),            "user_level": random.choice(user_levels),            "product_id": product_id,            "rating": random.choice(list(rating_map.keys())),            "rating_text": "",            "content": fake.text(max_nb_chars=200),            "creation_time": fake.date_time_between(start_date='-1y', end_date='now'),            "useful_count": random.randint(0, 100),            "useless_count": random.randint(0, 20),            "images": [fake.image_url() for _ in range(random.randint(0, 5))],            "videos": [fake.image_url() for _ in range(random.randint(0, 2))],            "after_comment": None        }                # 添加追评        if random.random() > 0.7:            after_comment = {                "content": fake.text(max_nb_chars=100),                "creation_time": comment["creation_time"] + timedelta(days=random.randint(1, 30))            }            comment["after_comment"] = after_comment                # 转换评分格式        comment["rating"] = rating_map[comment["rating"]]        comment["rating_text"] = list(rating_map.keys())[list(rating_map.values()).index(comment["rating"])]                # 转换时间格式        comment["creation_time"] = comment["creation_time"].strftime('%Y-%m-%d %H:%M:%S')        if comment["after_comment"]:            comment["after_comment"]["creation_time"] = comment["after_comment"]["creation_time"].strftime('%Y-%m-%d %H:%M:%S')                comments.append(comment)        return commentsdef get_tmall_comments(product_id, page=1, page_size=10):    """天猫风格API响应"""    all_comments = generate_comments(product_id, 200)    paginated_comments = all_comments[(page-1)*page_size:page*page_size]        response = {        "code": 200,        "message": "成功",        "data": {            "product_id": product_id,            "total": len(all_comments),            "page": page,            "page_size": page_size,            "comments": paginated_comments        }    }    return json.dumps(response, ensure_ascii=False, indent=2)# 示例调用print(get_tmall_comments(12345678, page=1, page_size=5))

返回JSON示例:

json{  "code": 200,  "message": "成功",  "data": {    "product_id": 12345678,    "total": 200,    "page": 1,    "page_size": 5,    "comments": [      {        "comment_id": 8765432101,        "user_id": 12345678,        "user_level": "钻石会员",        "product_id": 12345678,        "rating": 5,        "rating_text": "好评",        "content": "商品质量非常好,物流速度超快,客服态度专业,非常满意的一次购物体验!",        "creation_time": "2025-11-15 14:30:00",        "useful_count": 95,        "useless_count": 2,        "images": [          "https://img.tmall.com/1.jpg",          "https://img.tmall.com/2.jpg"        ],        "videos": [          "https://v.tmall.com/1.mp4"        ],        "after_comment": {          "content": "使用一个月后更新:依然非常满意,推荐购买!",          "creation_time": "2025-12-20 10:15:00"        }      },      // 其他4条评论...    ]  }}

实现特点:

  1. 天猫特色字段:包含用户等级、评分文本、图片/视频链接、追评系统

  2. 评分体系:严格对应天猫的1-5分制和好评/中评/差评标签

  3. 时间格式:精确到秒的ISO格式时间

  4. 分页系统:支持page/page_size参数

  5. 数据丰富度:包含有用/无用计数、多图/视频支持

  6. 追评系统:30%概率生成追评,时间间隔1-30天

  7. 错误处理:始终返回200状态码,错误信息通过message字段传递

此实现完全模拟了天猫商品评论API的返回结构和数据特征,可直接用于前端开发测试或数据分析场景。


相关文章

企业级实战:淘宝铺货核心API接口说明(含JSON返回)

前言一、铺货核心API说明(企业级极简)淘宝铺货核心依赖两类API,分别对应「获取货源商品数据」和「自有店铺上架商品」,适配跨店铺货、多平台同步、批量上架等企业场景,全程合规调用,避免爬虫风险。1....

闲鱼商品详情API接口系列,json数据返回

闲鱼商品详情API接口(如goodfish.item_get)通过商品ID获取详细信息,返回的JSON数据包含商品基础信息、卖家信息、价格、库存、物流、售后等核心字段,并支持图片、视频及促销信息的返回...

京东API接口系列——京东店铺所有商品数据

京东店铺所有商品API接口核心功能与技术实现一、核心功能全量商品数据获取支持获取指定京东店铺内全部商品信息,涵盖商品ID、名称、品牌、型号、价格(原价/促销价)、库存、销量、评价数、主图URL、详情描...

Python 请求淘宝 API 接口:能帮程序员解决哪些问题?

一、自动化获取店铺与商品数据自动获取全店商品、标题、价格、库存、SKU、主图、详情不用人工登录、复制、粘贴、截图程序员只需写少量代码,几分钟拿到全店数据二、自动同步商品到多平台淘宝 → 拼多多、抖音、...

Python 实现 1688 商品详情 API 数据准确性校验(直接可用 + JSON 参考)

前言给你极简、稳定、程序员专用的校验代码,用于 1688 商品详情 API 返回数据校验,确保数据准确、字段完整、格式合法,适合铺货、搬家、采购、数据分析。一、校验核心(必检项)返回 JSON 结构是...

淘宝京东1688拍立淘按图搜索API,json数据返回

淘宝、京东、1688的拍立淘按图搜索API主要通过图像识别技术返回与上传图片相似的商品信息,通常以JSON格式返回,包含商品标题、图片、价格、销量等关键字段。以下是淘宝、京东、1688拍立淘按图搜索A...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。