一、前期準備
- 安裝必要的 Python 庫: requests:用于發送 HTTP 請求,可通過 pip install requests 安裝。 hashlib:在 API 請求簽名等操作中可能會使用到,用于加密等操作,是 Python 內置庫,無需額外安裝。 time:可能會用于生成時間戳,也是 Python 內置庫,無需額外安裝。
二、接口介紹
- 商品搜索 API: 該 API 可根據關鍵詞、類別、價格范圍、排序規則等條件搜索京東平臺上的商品,返回滿足條件的商品列表信息。 典型的請求參數可能包括 keyword(搜索關鍵詞)、category(商品類別)、price_start(價格區間起始)、price_end(價格區間結束)、page(頁碼)、page_size(每頁商品數量)等。 響應數據通常是 JSON 格式,包含商品的基本信息,如商品 ID、商品名稱、價格、圖片鏈接、店鋪名稱、評價數等。
- 商品詳情 API: 可通過商品 ID 獲取某個商品的詳細信息,包括商品的詳細描述、規格參數、售后服務等信息。 核心參數通常是 sku_id(商品的唯一標識),根據此 ID 可以精確獲取該商品的詳細信息。
三、Python 請求示例
import requests
import hashlib
import time
# 封裝好的京東商品列表數據接口,復制鏈接獲取測試。
demo url=c0b.cc/R4rbK2 wechat id:Taobaoapi2014
def generate_sign(app_secret, params):
# 將參數按鍵值對排序,并拼接成字符串
sorted_params = sorted(params.items(), key=lambda x: x[0])
param_str = ""
for key, value in sorted_params:
param_str += f"{key}{value}"
param_str += app_secret
# 計算 MD5 簽名
sign = hashlib.md5(param_str.encode()).hexdigest()
return sign
def get_jd_product_list(app_key, app_secret):
url = "https://api.jd.com/routerjson"
params = {
"app_key": app_key,
"method": "jingdong.ware.search", # 假設使用商品搜索 API
"v": "2.0",
"timestamp": str(int(time.time() * 1000)),
"format": "json",
"keyword": "手機", # 搜索關鍵詞,可修改為其他關鍵詞
"page": "1",
"page_size": "20",
"sign_method": "md5"
}
# 生成簽名
sign = generate_sign(app_secret, params)
params["sign"] = sign
headers = {
"Content-Type": "application/x-www-form-urlencoded"
}
try:
response = requests.post(url, data=params, headers=headers)
if response.status_code == 200:
product_list = response.json()
print(product_list)
else:
print(f"請求失敗,狀態碼: {response.status_code}")
except requests.RequestException as e:
print(f"請求發生異常: {e}")
# 替換為你的 app_key 和 app_secret
app_key = "your_app_key"
app_secret = "your_app_secret"
get_jd_product_list(app_key, app_secret)
四、應用場景
- 市場調研: 可以通過該 API 搜索不同品類的商品,分析商品價格、銷量、評價數等信息,了解市場競爭態勢,為企業的產品定價、產品研發等決策提供數據支持。 對比不同品牌同類商品的特征和用戶評價,找出市場空白點和產品改進方向。
- 競品監測: 持續監控競爭對手的商品信息,如價格調整、新品推出、庫存變化等,及時做出應對策略,調整自身的市場策略。 分析競品的用戶評價,找出用戶關注的焦點和痛點,以便優化自身產品或服務。
- 價格監測與預警: 定期調用 API 獲取關注商品的價格信息,當價格低于或高于設定的閾值時,觸發價格預警,方便商家或消費者及時做出購買或銷售決策。 建立價格趨勢數據庫,分析商品價格的波動規律,為消費者提供價格走勢預測,幫助其找到最佳購買時機。