闲鱼商品详情API接口系列,json数据示例参考
【代码】闲鱼商品详情API接口系列,json数据示例参考。
·
以下是关于闲鱼商品详情API接口及JSON数据示例的详细解答:
一、闲鱼商品详情API接口核心信息
1. 接口名称与功能
- 接口名称:
Goodfish.item_get(闲鱼商品详情接口) - 功能:通过商品ID获取闲鱼平台上特定商品的详细信息,包括标题、价格、描述、图片、卖家昵称、商品类别等。
2. 请求方式及地址
- 请求方式:GET
- 请求地址:需通过闲鱼开放平台获取真实地址(示例参考地址:
https://api.xianyu.com/item/detail或https://api-gw.onebound.cn/goodfish/item_get/,具体以官方文档为准)。
3. 请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
app_key |
String | 是 | 在闲鱼开放平台申请的应用密钥(用于身份验证)。 |
item_id |
String | 是 | 闲鱼商品的唯一标识符(可从商品URL中获取)。 |
timestamp |
String | 是 | 请求时间戳(格式:YYYY-MM-DD HH:MM:SS),防止请求重复使用。 |
sign |
String | 是 | 根据请求参数和app_secret生成的签名(确保请求安全性)。 |
4. 签名生成方法
签名用于验证请求合法性,生成步骤如下:
- 排序参数:将请求参数(如
app_key、item_id、timestamp)按字典序排序。 - 拼接字符串:将
app_secret与排序后的参数拼接成字符串。 - 加密处理:使用MD5算法对拼接后的字符串加密,并转换为大写。
示例代码(Python):
import hashlib |
|
def generate_sign(params, app_secret): |
|
sorted_params = sorted(params.items(), key=lambda x: x[0]) |
|
sign_str = app_secret |
|
for key, value in sorted_params: |
|
sign_str += f"{key}{value}" |
|
sign_str += app_secret |
|
sign = hashlib.md5(sign_str.encode('utf-8')).hexdigest().upper() |
|
return sign |
二、JSON数据示例及字段说明
1. 响应数据格式
接口返回JSON格式数据,包含以下核心字段:
{ |
|
"status": 200, |
|
"message": "成功", |
|
"data": { |
|
"title": "九成新 iPhone 14", |
|
"price": "3500.00", |
|
"description": "自用 iPhone 14,使用不到一年,无磕碰划痕,电池健康90%以上。", |
|
"images": [ |
|
"https://image1.xianyu.com/xxx.jpg", |
|
"https://image2.xianyu.com/xxx.jpg" |
|
], |
|
"seller_nick": "闲鱼小卖家", |
|
"category": "手机" |
|
} |
|
} |
2. 字段说明
| 字段名 | 类型 | 说明 |
|---|---|---|
status |
Integer | 响应状态码,200表示成功,其他值表示错误(如400参数错误、500服务器错误)。 |
message |
String | 对响应状态的文字描述(如“成功”或具体错误信息)。 |
data |
Object | 商品详情数据,包含以下子字段: |
title |
String | 商品标题。 |
price |
String | 商品价格(单位:元)。 |
description |
String | 商品描述(卖家提供的详细信息)。 |
images |
Array | 商品图片链接列表(多张图片URL)。 |
seller_nick |
String | 卖家昵称。 |
category |
String | 商品所属类别(如“手机”“图书”等)。 |
三、使用步骤及注意事项
1. 使用步骤
- 注册开发者账号:注册并登录账号。
- 创建应用:在开发者控制台创建新应用,获取
app_key和app_secret。 - 查阅API文档:熟悉接口文档,了解请求参数、返回格式及调用频率限制。
- 发起请求:构造包含必要参数的GET请求,并生成签名。
- 处理响应:解析返回的JSON数据,提取所需信息。
2. 注意事项
- 遵守规范:使用API需遵循闲鱼开放平台的使用规范和协议,禁止违规爬取数据。
- 数据安全:确保传输数据经过加密处理,防止数据泄露。
- 错误处理:需处理网络错误、参数错误等异常情况,确保程序健壮性。
- 速率限制:了解API调用频率限制,避免频繁请求导致IP被封禁。
四、应用场景
- 数据分析:爬取商品信息用于市场趋势分析、竞品研究。
- 自动化交易:实现自动下单、价格监控、库存同步等功能。
- 二次开发:集成商品信息到第三方应用(如比价工具、二手交易平台)。
五、完整代码示例(Python)
import requests |
|
import time |
|
import hashlib |
|
# 替换为你在闲鱼开放平台申请的 app_key 和 app_secret |
|
APP_KEY = "your_app_key" |
|
APP_SECRET = "your_app_secret" |
|
def generate_sign(params): |
|
sorted_params = sorted(params.items(), key=lambda x: x[0]) |
|
sign_str = APP_SECRET |
|
for key, value in sorted_params: |
|
sign_str += f"{key}{value}" |
|
sign_str += APP_SECRET |
|
return hashlib.md5(sign_str.encode('utf-8')).hexdigest().upper() |
|
def get_item_detail(item_id): |
|
url = "https://api.xianyu.com/item/detail" |
|
timestamp = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) |
|
params = { |
|
"app_key": APP_KEY, |
|
"item_id": item_id, |
|
"timestamp": timestamp |
|
} |
|
params["sign"] = generate_sign(params) |
|
try: |
|
response = requests.get(url, params=params) |
|
if response.status_code == 200: |
|
result = response.json() |
|
if result["status"] == 200: |
|
return result["data"] |
|
else: |
|
print(f"请求失败,错误信息:{result['message']}") |
|
else: |
|
print(f"请求失败,状态码:{response.status_code}") |
|
except Exception as e: |
|
print(f"发生错误:{e}") |
|
return None |
|
if __name__ == "__main__": |
|
item_id = "1234567890" # 替换为真实的闲鱼商品ID |
|
item_detail = get_item_detail(item_id) |
|
if item_detail: |
|
print(f"商品标题:{item_detail['title']}") |
|
print(f"商品价格:{item_detail['price']}") |
|
print(f"商品描述:{item_detail['description']}") |
|
print(f"商品图片:{', '.join(item_detail['images'])}") |
|
print(f"卖家昵称:{item_detail['seller_nick']}") |
|
print(f"商品类别:{item_detail['category']}") |
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)