一、接口概述
京東商品列表 API 接口是京東開放平臺為開發(fā)者提供的重要工具,旨在方便開發(fā)者獲取京東平臺上豐富的商品信息。通過該接口,能夠根據(jù)不同的查詢條件,如關(guān)鍵詞搜索、店鋪 ID 指定、商品分類篩選等,精準(zhǔn)地獲取對應(yīng)的商品列表數(shù)據(jù)。這些數(shù)據(jù)包含了商品的基礎(chǔ)信息,如名稱、價格、圖片鏈接、庫存數(shù)量等,以及商品的詳細(xì)描述、評價數(shù)量和星級等拓展信息。接口的數(shù)據(jù)實(shí)時性較高,能讓開發(fā)者及時掌握京東平臺商品的動態(tài)變化,無論是用于電商數(shù)據(jù)分析、比價應(yīng)用開發(fā),還是構(gòu)建商品展示平臺,都具有極高的實(shí)用價值。小編:Taobaoapi2014
二、接口特點(diǎn)
- 數(shù)據(jù)豐富:返回的商品列表信息全面,不僅包含商品的基本屬性,還涵蓋了與商品銷售相關(guān)的各類數(shù)據(jù),如銷量、評價詳情等,為開發(fā)者提供了全方位了解商品的可能。
- 查詢靈活:支持多種查詢方式,開發(fā)者可依據(jù)業(yè)務(wù)需求,通過關(guān)鍵詞搜索特定商品,或按店鋪 ID 獲取該店鋪下的所有商品,亦能根據(jù)商品所屬分類篩選商品列表,極大地滿足了不同場景下的數(shù)據(jù)獲取需求。
- 實(shí)時更新:京東平臺商品信息變化頻繁,該接口能夠?qū)崟r同步商品數(shù)據(jù)的更新,確保開發(fā)者獲取到的始終是最新、最準(zhǔn)確的商品信息,有助于提升應(yīng)用的時效性和用戶體驗(yàn)。
- 安全可靠:京東開放平臺采用了嚴(yán)格的身份驗(yàn)證機(jī)制,通過 AppKey 和 AppSecret 進(jìn)行簽名認(rèn)證,保證了接口調(diào)用的安全性,防止非法訪問和數(shù)據(jù)泄露。同時,接口具備高可用性和穩(wěn)定性,能夠應(yīng)對大量的并發(fā)請求,為開發(fā)者提供可靠的數(shù)據(jù)服務(wù)。
三、Python 請求示例
1. 安裝必要的庫
在使用 Python 調(diào)用京東商品列表 API 接口前,需安裝requests庫用于發(fā)送 HTTP 請求。若尚未安裝,可通過以下命令在命令行中安裝:
pip install requests
2. 構(gòu)造請求參數(shù)及簽名
首先,需要獲取京東開放平臺分配的 AppKey 和 AppSecret。以下示例假設(shè)已獲取到這兩個關(guān)鍵信息,并以搜索關(guān)鍵詞 “手機(jī)” 為例進(jìn)行接口調(diào)用:
import requests
import hashlib
import time
import random
import string
def generate_sign(params, app_secret):
keys = sorted(params.keys())
query_string = ''
for key in keys:
query_string += key + str(params[key])
query_string += app_secret
sign = hashlib.md5(query_string.encode('utf - 8')).hexdigest().upper()
return sign
# 封裝好的第三方數(shù)據(jù)商平臺接口,復(fù)制鏈接獲取測試。
demo url=c0b.cc/R4rbK2 wechat id:Taobaoapi2014
app_key = 'your_app_key'
app_secret = 'your_app_secret'
# 接口地址
url = 'https://api.jd.com/routerjson'
# 請求參數(shù)
params = {
'app_key': app_key,
'method': 'jd.union.open.goods.search',
'timestamp': time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()),
'format': 'json',
'v': '2.0',
'sign_method': 'md5',
'keyword': '手機(jī)',
'page_size': 20,
'page_index': 1,
'channel': 1
}
# 生成簽名
sign = generate_sign(params, app_secret)
params['sign'] = sign
3. 發(fā)送請求并處理響應(yīng)
構(gòu)造好請求參數(shù)和簽名后,發(fā)送 HTTP 請求并處理返回的 JSON 數(shù)據(jù):
response = requests.post(url, data=params)
if response.status_code == 200:
result = response.json()
if result.get('code') == '0':
goods_list = result.get('result').get('wareList')
for good in goods_list:
print(good.get('title'), good.get('price'))
else:
print('請求失敗,錯誤信息:', result.get('msg'))
else:
print('請求失敗,狀態(tài)碼:', response.status_code)
上述代碼中,首先定義了生成簽名的函數(shù)generate_sign,該函數(shù)根據(jù)京東開放平臺的簽名規(guī)則,將請求參數(shù)和 AppSecret 拼接后進(jìn)行 MD5 加密生成簽名。然后設(shè)置了接口地址、請求參數(shù),生成簽名后將其添加到請求參數(shù)中。最后發(fā)送 POST 請求,若請求成功且返回的狀態(tài)碼為 200,進(jìn)一步判斷返回結(jié)果中的業(yè)務(wù)狀態(tài)碼,若為 0 表示請求成功,可獲取并處理商品列表數(shù)據(jù);否則打印錯誤信息。若請求失敗,打印出請求的狀態(tài)碼。