一、接口概述
京東商品列表 API 接口是京東開放平臺為開發者提供的重要工具,旨在方便開發者獲取京東平臺上豐富的商品信息。通過該接口,能夠根據不同的查詢條件,如關鍵詞搜索、店鋪 ID 指定、商品分類篩選等,精準地獲取對應的商品列表數據。這些數據包含了商品的基礎信息,如名稱、價格、圖片鏈接、庫存數量等,以及商品的詳細描述、評價數量和星級等拓展信息。接口的數據實時性較高,能讓開發者及時掌握京東平臺商品的動態變化,無論是用于電商數據分析、比價應用開發,還是構建商品展示平臺,都具有極高的實用價值。小編:Taobaoapi2014
二、接口特點
- 數據豐富:返回的商品列表信息全面,不僅包含商品的基本屬性,還涵蓋了與商品銷售相關的各類數據,如銷量、評價詳情等,為開發者提供了全方位了解商品的可能。
- 查詢靈活:支持多種查詢方式,開發者可依據業務需求,通過關鍵詞搜索特定商品,或按店鋪 ID 獲取該店鋪下的所有商品,亦能根據商品所屬分類篩選商品列表,極大地滿足了不同場景下的數據獲取需求。
- 實時更新:京東平臺商品信息變化頻繁,該接口能夠實時同步商品數據的更新,確保開發者獲取到的始終是最新、最準確的商品信息,有助于提升應用的時效性和用戶體驗。
- 安全可靠:京東開放平臺采用了嚴格的身份驗證機制,通過 AppKey 和 AppSecret 進行簽名認證,保證了接口調用的安全性,防止非法訪問和數據泄露。同時,接口具備高可用性和穩定性,能夠應對大量的并發請求,為開發者提供可靠的數據服務。
三、Python 請求示例
1. 安裝必要的庫
在使用 Python 調用京東商品列表 API 接口前,需安裝requests庫用于發送 HTTP 請求。若尚未安裝,可通過以下命令在命令行中安裝:
pip install requests
2. 構造請求參數及簽名
首先,需要獲取京東開放平臺分配的 AppKey 和 AppSecret。以下示例假設已獲取到這兩個關鍵信息,并以搜索關鍵詞 “手機” 為例進行接口調用:
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
# 封裝好的第三方數據商平臺接口,復制鏈接獲取測試。
demo url=c0b.cc/R4rbK2 wechat id:Taobaoapi2014
app_key = 'your_app_key'
app_secret = 'your_app_secret'
# 接口地址
url = 'https://api.jd.com/routerjson'
# 請求參數
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': '手機',
'page_size': 20,
'page_index': 1,
'channel': 1
}
# 生成簽名
sign = generate_sign(params, app_secret)
params['sign'] = sign
3. 發送請求并處理響應
構造好請求參數和簽名后,發送 HTTP 請求并處理返回的 JSON 數據:
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('請求失敗,狀態碼:', response.status_code)
上述代碼中,首先定義了生成簽名的函數generate_sign,該函數根據京東開放平臺的簽名規則,將請求參數和 AppSecret 拼接后進行 MD5 加密生成簽名。然后設置了接口地址、請求參數,生成簽名后將其添加到請求參數中。最后發送 POST 請求,若請求成功且返回的狀態碼為 200,進一步判斷返回結果中的業務狀態碼,若為 0 表示請求成功,可獲取并處理商品列表數據;否則打印錯誤信息。若請求失敗,打印出請求的狀態碼。