一、引言
在數(shù)字化信息時(shí)代,對(duì)于開(kāi)發(fā)者和研究人員而言,獲取特定平臺(tái)上的商品信息具有重要意義。孔夫子網(wǎng)作為專注于古舊書(shū)、藝術(shù)品等文化商品交易的知名平臺(tái),擁有海量的商品資源。通過(guò)提供商品列表 API 接口,開(kāi)發(fā)者能夠方便地集成孔夫子網(wǎng)的商品數(shù)據(jù),用于開(kāi)發(fā)各類與文化產(chǎn)品相關(guān)的應(yīng)用程序,如古籍檢索工具、文化商品比價(jià)系統(tǒng)等。本文檔旨在詳細(xì)介紹孔夫子商品列表 API 接口,包括接口的基本功能、請(qǐng)求與響應(yīng)細(xì)節(jié)以及 Python 請(qǐng)求示例。 供稿者:Taobaoapi2014
二、接口概述
- 接口功能 該接口允許開(kāi)發(fā)者通過(guò)發(fā)送請(qǐng)求獲取孔夫子網(wǎng)上符合特定條件的商品列表信息??梢愿鶕?jù)不同的篩選條件,如商品類別、價(jià)格范圍、出版時(shí)間等,靈活地獲取所需的商品列表數(shù)據(jù),為進(jìn)一步的數(shù)據(jù)分析和應(yīng)用開(kāi)發(fā)提供基礎(chǔ)。
- 請(qǐng)求方式 支持 HTTP GET 和 POST 請(qǐng)求方式。GET 請(qǐng)求適用于簡(jiǎn)單的參數(shù)傳遞場(chǎng)景,例如僅通過(guò)幾個(gè)基本參數(shù)獲取商品列表;POST 請(qǐng)求則更適合需要傳遞復(fù)雜參數(shù)或大量數(shù)據(jù)的情況,比如包含多個(gè)篩選條件組合以及分頁(yè)信息等。
- 請(qǐng)求參數(shù) category(可選):商品類別,例如 “古籍”“文學(xué)書(shū)籍”“藝術(shù)畫(huà)作” 等。通過(guò)指定類別,可以篩選出特定類型的商品。 min_price(可選):最小價(jià)格,用于限定商品價(jià)格的下限。例如設(shè)置為 10,表示僅獲取價(jià)格大于等于 10 元的商品。 max_price(可選):最大價(jià)格,用于限定商品價(jià)格的上限。例如設(shè)置為 100,表示僅獲取價(jià)格小于等于 100 元的商品。 publication_year_start(可選):出版年份起始值,用于篩選出版時(shí)間在該年份及之后的商品。例如設(shè)置為 1990,表示獲取 1990 年及以后出版的商品。 publication_year_end(可選):出版年份結(jié)束值,用于篩選出版時(shí)間在該年份及之前的商品。例如設(shè)置為 2000,表示獲取 2000 年及以前出版的商品。 page(可選,默認(rèn)值為 1):頁(yè)碼,用于分頁(yè)獲取商品列表。例如設(shè)置為 2,表示獲取第二頁(yè)的商品列表。 per_page(可選,默認(rèn)值為 20):每頁(yè)顯示的商品數(shù)量。例如設(shè)置為 50,表示每頁(yè)返回 50 條商品信息。
- 響應(yīng)數(shù)據(jù)格式 接口以 JSON 格式返回?cái)?shù)據(jù),示例如下: json
{
"status": "success",
"total_pages": 5,
"current_page": 1,
"total_items": 98,
"items": [
{
"product_id": 123456,
"product_name": "《紅樓夢(mèng)》(精裝版)",
"price": 80.00,
"author": "曹雪芹",
"publisher": "人民文學(xué)出版社",
"publication_year": 2010,
"thumbnail_url": "https://img.kongfz.com/123456.jpg"
},
{
"product_id": 789012,
"product_name": "《魯迅全集》",
"price": 150.00,
"author": "魯迅",
"publisher": "中華書(shū)局",
"publication_year": 2005,
"thumbnail_url": "https://img.kongfz.com/789012.jpg"
}
],
"message": "商品列表獲取成功"
}
status
:表示請(qǐng)求狀態(tài),“success” 代表成功,“failure” 代表失敗。total_pages
:總頁(yè)數(shù),根據(jù)商品總數(shù)和每頁(yè)顯示數(shù)量計(jì)算得出。current_page
:當(dāng)前頁(yè)碼。total_items
:符合篩選條件的商品總數(shù)。items
:商品列表數(shù)組,每個(gè)元素為一個(gè)商品的基本信息。message
:關(guān)于請(qǐng)求結(jié)果的描述信息。
三、Python 請(qǐng)求示例
使用requests庫(kù)進(jìn)行 GET 請(qǐng)求示例(獲取古籍類別,價(jià)格在 50 - 150 元之間,第一頁(yè),每頁(yè) 20 條的商品列表)
python
import requests
封裝好的第三方數(shù)據(jù)商孔夫子平臺(tái)接口,復(fù)制鏈接獲取測(cè)試。
demo url=http://c0b.cc/R4rbK2 wechat id:Taobaoapi2014
# 孔夫子商品列表API接口地址
url = 'https://api.kongfz.com/product/list'
# 請(qǐng)求參數(shù)
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"請(qǐng)求失敗,狀態(tài)碼: {response.status_code}")
except requests.RequestException as e:
print(f"請(qǐng)求發(fā)生異常: {e}")
請(qǐng)務(wù)必注意,實(shí)際使用中需要根據(jù)孔夫子網(wǎng)開(kāi)放平臺(tái)提供的真實(shí) API 地址和準(zhǔn)確的參數(shù)要求進(jìn)行調(diào)整。同時(shí),可能需要處理身份驗(yàn)證、請(qǐng)求頻率限制等問(wèn)題,以確保接口調(diào)用的穩(wěn)定性和合法性。