一、引言
在數字化信息時代,對于開發者和研究人員而言,獲取特定平臺上的商品信息具有重要意義。孔夫子網作為專注于古舊書、藝術品等文化商品交易的知名平臺,擁有海量的商品資源。通過提供商品列表 API 接口,開發者能夠方便地集成孔夫子網的商品數據,用于開發各類與文化產品相關的應用程序,如古籍檢索工具、文化商品比價系統等。本文檔旨在詳細介紹孔夫子商品列表 API 接口,包括接口的基本功能、請求與響應細節以及 Python 請求示例。 供稿者:Taobaoapi2014
二、接口概述
- 接口功能 該接口允許開發者通過發送請求獲取孔夫子網上符合特定條件的商品列表信息??梢愿鶕煌暮Y選條件,如商品類別、價格范圍、出版時間等,靈活地獲取所需的商品列表數據,為進一步的數據分析和應用開發提供基礎。
- 請求方式 支持 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 地址和準確的參數要求進行調整。同時,可能需要處理身份驗證、請求頻率限制等問題,以確保接口調用的穩定性和合法性。