核心思路 :通过京东开放平台API接口获取商品SKU、规格、价格等核心数据,解析JSON响应实现结构化存储。
技术实现:
- API权限申请 :在京东开放平台注册开发者账号,创建应用并申请
jd.item.sku.get接口权限,获取AppKey和AppSecret。 - 请求参数构建 :
- 必填参数:
method(接口方法)、app_key、skuId(商品ID)、timestamp(时间戳)。 - 签名生成:将参数按字母排序后拼接
AppSecret,通过MD5加密生成签名。
- 必填参数:
- 响应解析 :解析返回的JSON数据,提取
basicInfo(商品标题、图片)、price(当前价、原价)、stock(库存)、specs(规格列表)等字段。
示例代码:
python
`import requests, hashlib, time
class JD_API:
def __init__(self, app_key, app_secret):
self.app_key = app_key
self.app_secret = app_secret
self.api_url = "https://api.jd.com/routerjson"
def sign(self, params):
sorted_params = sorted(params.items())
sign_str = self.app_secret
for k, v in sorted_params:
sign_str += f"{k}{v}"
sign_str += self.app_secret
return hashlib.md5(sign_str.encode()).hexdigest().upper()
def get_sku_info(self, sku_id):
params = {
"method": "jd.item.sku.get",
"app_key": self.app_key,
"skuId": sku_id,
"timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
"v": "2.0"
}
params["sign"] = self.sign(params)
response = requests.get(self.api_url, params=params)
return response.json()
# 使用示例
api = JD_API("YOUR_APP_KEY", "YOUR_APP_SECRET")
data = api.get_sku_info("123456789")
print(data["jd_item_sku_get_response"]["item"]["price"])`