一、接口調用流程
認證授權
需先通過開放平臺申請App Key和App Secret,獲取access_token:
# Python示例 import requests auth_url = "https://gw.open.1688.com/auth/authorize" params = { "client_id": "YOUR_APP_KEY", "redirect_uri": "CALLBACK_URL", "site": "china" } # 獲取授權碼后交換token
請求構造
核心搜索接口地址:
https://api.1688.com/param2/1/com.alibaba.product/alibaba.product.search/
必備參數:
{ "keyword": "手機", // 搜索關鍵字 "pageNo": 1, // 頁碼 "pageSize": 20, // 每頁數量 "access_token": "xxx" // 認證令牌 }
二、響應數據結構解析
{ "result": { "totalCount": 1500, "products": [ { "productId": 123456789, "subject": "華為Mate60 Pro 5G手機", "price": "¥5999", "imageUrl": "https://img.alicdn.com/xxx.jpg", "minOrder": 1, "unit": "臺" } ], "pageIndex": 1, "pageSize": 20, "totalPage": 75 } }
三、簽名安全機制
需使用HMAC-SHA1簽名算法:
// PHP簽名示例 $params = ksort($params); // 參數按鍵名排序 $stringToSign = strtoupper('GET') . '&' . urlencode('/api/endpoint') . '&'; foreach ($params as $k => $v) { $stringToSign .= urlencode("$k=$v") . '&'; } $sign = base64_encode(hash_hmac('sha1', $stringToSign, $appSecret, true));
四、分頁處理技巧
通過totalPage字段計算總頁數: $$ text{總頁數} = lceil frac{text{totalCount}}{text{pageSize}} rceil $$
推薦增量爬取:
current_page = 1 while current_page <= response['totalPage']: # 延時避免限流 time.sleep(1.5) current_page += 1
五、注意事項
頻率限制:免費版限速200次/分鐘,企業版可申請提升至500次/分鐘
數據新鮮度:接口數據延遲約15-30分鐘
錯誤碼處理:
10000:簽名無效
10001:參數缺失
20000:頻次超限
完整文檔參考:1688開放平臺搜索API文檔
建議使用官方SDK簡化開發流程,支持Java/Python/PHP等多語言集成。
審核編輯 黃宇
-
接口
+關注
關注
33文章
9519瀏覽量
157015 -
API
+關注
關注
2文章
2368瀏覽量
66752
發布評論請先 登錄
1688平臺關鍵字搜索商品API接口技術實踐指南
評論