一、引言
在数字化信息时代,对于开发者和研究人员而言,获取特定平台上的商品信息具有重要意义。孔夫子网作为专注于古旧书、艺术品等文化商品交易的知名平台,拥有海量的商品资源。通过提供商品列表 API 接口,开发者能够方便地集成孔夫子网的商品数据,用于开发各类与文化产品相关的应用程序,如古籍检索工具、文化商品比价系统等。本文档旨在详细介绍孔夫子商品列表 API 接口,包括接口的基本功能、请求与响应细节以及 Python 请求示例。 供稿者:Taobaoapi2014
二、接口概述
- 接口功能 该接口允许开发者通过发送请求获取孔夫子网上符合特定条件的商品列表信息。可以根据不同的筛选条件,如商品类别、价格范围、出版时间等,灵活地获取所需的商品列表数据,为进一步的数据分析和应用开发提供基础。
- 请求方式 支持 HTTP GET 和 POST 请求方式。GET 请求适用于简单的参数传递场景,例如仅通过几个基本参数获取商品列表;POST 请求则更适合需要传递复杂参数或大量数据的情况,比如包含多个筛选条件组合以及分页信息等。
- 请求参数 category(可选):商品类别,例如 “古籍”“文学书籍”“艺术画作” 等。通过指定类别,可以筛选出特定类型的商品。 min_price(可选):最小价格,用于限定商品价格的下限。例如设置为 10,表示仅获取价格大于等于 10 元的商品。 max_price(可选):最大价格,用于限定商品价格的上限。例如设置为 100,表示仅获取价格小于等于 100 元的商品。 publication_year_start(可选):出版年份起始值,用于筛选出版时间在该年份及之后的商品。例如设置为 1990,表示获取 1990 年及以后出版的商品。 publication_year_end(可选):出版年份结束值,用于筛选出版时间在该年份及之前的商品。例如设置为 2000,表示获取 2000 年及以前出版的商品。 page(可选,默认值为 1):页码,用于分页获取商品列表。例如设置为 2,表示获取第二页的商品列表。 per_page(可选,默认值为 20):每页显示的商品数量。例如设置为 50,表示每页返回 50 条商品信息。
- 响应数据格式 接口以 JSON 格式返回数据,示例如下: json
{
"status": "success",
"total_pages": 5,
"current_page": 1,
"total_items": 98,
"items": [
{
"product_id": 123456,
"product_name": "《红楼梦》(精装版)",
"price": 80.00,
"author": "曹雪芹",
"publisher": "人民文学出版社",
"publication_year": 2010,
"thumbnail_url": "https://img.kongfz.com/123456.jpg"
},
{
"product_id": 789012,
"product_name": "《鲁迅全集》",
"price": 150.00,
"author": "鲁迅",
"publisher": "中华书局",
"publication_year": 2005,
"thumbnail_url": "https://img.kongfz.com/789012.jpg"
}
],
"message": "商品列表获取成功"
}
status
:表示请求状态,“success” 代表成功,“failure” 代表失败。total_pages
:总页数,根据商品总数和每页显示数量计算得出。current_page
:当前页码。total_items
:符合筛选条件的商品总数。items
:商品列表数组,每个元素为一个商品的基本信息。message
:关于请求结果的描述信息。
三、Python 请求示例
使用requests库进行 GET 请求示例(获取古籍类别,价格在 50 - 150 元之间,第一页,每页 20 条的商品列表)
python
import requests
封装好的第三方数据商孔夫子平台接口,复制链接获取测试。
demo url=http://c0b.cc/R4rbK2 wechat id:Taobaoapi2014
# 孔夫子商品列表API接口地址
url = 'https://api.kongfz.com/product/list'
# 请求参数
params = {
'category': '古籍',
'min_price': 50,
'max_price': 150,
'page': 1,
'per_page': 20
}
try:
response = requests.get(url, params=params)
if response.status_code == 200:
data = response.json()
print(data)
else:
print(f"请求失败,状态码: {response.status_code}")
except requests.RequestException as e:
print(f"请求发生异常: {e}")
请务必注意,实际使用中需要根据孔夫子网开放平台提供的真实 API 地址和准确的参数要求进行调整。同时,可能需要处理身份验证、请求频率限制等问题,以确保接口调用的稳定性和合法性。