国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

1688 商品詳情 API 調(diào)用與數(shù)據(jù)解析 Python 實(shí)戰(zhàn)

? 來源:jf_57394773 ? 作者:jf_57394773 ? 2026-02-10 11:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

你想要的是 1688 商品詳情 APIPython 調(diào)用與數(shù)據(jù)解析實(shí)戰(zhàn)方案,核心是完成API 憑證配置、接口請求(含簽名)、響應(yīng)數(shù)據(jù)解析、異常處理的全流程落地,我會提供可直接運(yùn)行的代碼,并詳解關(guān)鍵步驟和數(shù)據(jù)解析技巧,適配新手快速上手。

一、前置準(zhǔn)備

1. 必備條件

已完成 1688 開放平臺開發(fā)者認(rèn)證(個(gè)人 / 企業(yè)),創(chuàng)建自研應(yīng)用,獲取AppKey和AppSecret(參考之前的 1688 API 接入流程);

安裝 Python 依賴:

bash

運(yùn)行

pip install requests  # 發(fā)送HTTP請求
pip install dicttoxml  # 可選,處理XML格式響應(yīng)(1688部分接口返回XML)
pip install python-dotenv  # 管理環(huán)境變量,避免硬編碼憑證

2. 核心接口選型

1688 商品詳情的核心接口為:alibaba.item.get(獲取商品基礎(chǔ)信息)和alibaba.item.sku.get(獲取 SKU / 價(jià)格 / 庫存信息),本次實(shí)戰(zhàn)以alibaba.item.get為例,接口參數(shù)說明:

表格

參數(shù)名 必傳 說明
app_key 你的 AppKey
method 接口名稱,固定為alibaba.item.get
format 響應(yīng)格式,可選json/xml,推薦json
timestamp 時(shí)間戳(格式:yyyy-MM-dd HH:mm:ss,如 2026-02-10 15:30:00)
v 接口版本,固定為2.0
sign 簽名(MD5 加密,1688 簽名規(guī)則)
offer_id 商品 ID(1688 商品鏈接中offerId=后的數(shù)字,如699988776655)
fields 指定返回字段,如title,price,sku,description,不傳返回全部字段

二、完整 Python 實(shí)戰(zhàn)代碼

1. 代碼實(shí)現(xiàn)(含簽名、請求、解析)

python

運(yùn)行

import requests
import time
import hashlib
import json
from dotenv import load_dotenv
import os

# 加載環(huán)境變量(建議將AppKey/Secret存放在.env文件,避免硬編碼)
load_dotenv()
APP_KEY = os.getenv("1688_APP_KEY")
APP_SECRET = os.getenv("1688_APP_SECRET")

def generate_1688_sign(params, app_secret):
    """
    生成1688 API簽名(核心:ASCII升序排序+MD5加密)
    :param params: 接口請求參數(shù)(dict)
    :param app_secret: 1688應(yīng)用的AppSecret
    :return: 簽名字符串
    """
    # 1. 按參數(shù)名ASCII升序排序
    sorted_params = sorted(params.items(), key=lambda x: x[0])
    # 2. 拼接為key=value格式
    sign_str = ""
    for k, v in sorted_params:
        if v is not None and v != "":
            sign_str += f"{k}{v}"
    # 3. 首尾拼接AppSecret,MD5加密后轉(zhuǎn)大寫
    sign_str = app_secret + sign_str + app_secret
    sign = hashlib.md5(sign_str.encode("utf-8")).hexdigest().upper()
    return sign

def get_1688_item_detail(offer_id):
    """
    調(diào)用1688商品詳情API,解析核心數(shù)據(jù)
    :param offer_id: 1688商品ID
    :return: 解析后的商品詳情字典
    """
    # 1. 構(gòu)造公共參數(shù)
    params = {
        "app_key": APP_KEY,
        "method": "alibaba.item.get",
        "format": "json",
        "timestamp": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
        "v": "2.0",
        "offer_id": offer_id,
        "fields": "title,price,sku_info,description,spec_info,image_urls,seller_info"  # 指定返回字段
    }
    
    # 2. 生成簽名并添加到參數(shù)
    params["sign"] = generate_1688_sign(params, APP_SECRET)
    
    # 3. 發(fā)送請求(1688 API網(wǎng)關(guān)地址)
    url = "https://gw.open.1688.com/openapi/param2/2/alibaba.item.get/2.0"
    try:
        response = requests.get(url, params=params, timeout=10)
        response.raise_for_status()  # 拋出HTTP錯(cuò)誤(如403/500)
        result = response.json()
    except requests.exceptions.RequestException as e:
        print(f"API請求失敗:{e}")
        return None
    except json.JSONDecodeError:
        print("響應(yīng)數(shù)據(jù)不是JSON格式,可能是XML")
        return None
    
    # 4. 解析核心數(shù)據(jù)(過濾冗余字段,提取業(yè)務(wù)所需)
    if "error_response" in result:
        print(f"API調(diào)用錯(cuò)誤:{result['error_response']['msg']}(錯(cuò)誤碼:{result['error_response']['code']})")
        return None
    
    item_data = result.get("alibaba_item_get_response", {}).get("item", {})
    parsed_data = {
        "商品ID": item_data.get("offer_id"),
        "商品標(biāo)題": item_data.get("title"),
        "價(jià)格(元)": item_data.get("price"),
        "商品主圖": item_data.get("image_urls", {}).get("image_url", []),
        "賣家信息": {
            "賣家ID": item_data.get("seller_info", {}).get("user_id"),
            "店鋪名稱": item_data.get("seller_info", {}).get("shop_name")
        },
        "SKU信息": item_data.get("sku_info", {}).get("sku", []),  # 多SKU規(guī)格
        "商品規(guī)格": item_data.get("spec_info", {}).get("spec", []),
        "商品描述": item_data.get("description")  # 商品詳情頁富文本
    }
    return parsed_data

# 測試調(diào)用
if __name__ == "__main__":
    # 替換為你要查詢的1688商品ID(從商品鏈接中提取)
    test_offer_id = "699988776655"
    item_detail = get_1688_item_detail(test_offer_id)
    if item_detail:
        print("=== 1688商品詳情解析結(jié)果 ===")
        print(json.dumps(item_detail, ensure_ascii=False, indent=2))
    else:
        print("商品詳情獲取失敗")

2. 環(huán)境配置(.env 文件)

在代碼同級目錄創(chuàng)建.env文件,寫入你的憑證:

env

1688_APP_KEY=你的AppKey
1688_APP_SECRET=你的AppSecret

三、關(guān)鍵步驟詳解

1. 簽名生成(核心防錯(cuò)點(diǎn))

1688 API 的簽名是調(diào)用成功的關(guān)鍵,錯(cuò)誤會直接返回invalid signature:

排序規(guī)則:嚴(yán)格按參數(shù)名 ASCII 碼升序(如app_key在method前,timestamp在v前);

加密規(guī)則:拼接后字符串需UTF-8編碼,MD5 加密后轉(zhuǎn)大寫

注意:空值參數(shù)不參與簽名(如fields不傳則不加入)。

2. 數(shù)據(jù)解析技巧

1688 返回的商品數(shù)據(jù)字段多且嵌套深,重點(diǎn)關(guān)注:

價(jià)格 / 庫存:SKU 級的價(jià)格和庫存需從sku_info.sku中解析(每個(gè) SKU 對應(yīng)不同規(guī)格和價(jià)格);

圖片鏈接:image_urls.image_url是列表,包含主圖和詳情圖;

富文本描述:description是 HTML 格式,如需提取純文本,可使用BeautifulSoup清理:

python

運(yùn)行

from bs4 import BeautifulSoup
# 清理商品描述中的HTML標(biāo)簽
if parsed_data["商品描述"]:
    soup = BeautifulSoup(parsed_data["商品描述"], "html.parser")
    parsed_data["商品描述_純文本"] = soup.get_text(strip=True)

3. 常見錯(cuò)誤與解決

表格

錯(cuò)誤碼 / 提示 原因 解決方法
invalid signature 簽名錯(cuò)誤 檢查參數(shù)排序、AppSecret 是否正確、時(shí)間戳格式
insufficient permissions 權(quán)限不足 確認(rèn)應(yīng)用已申請alibaba.item.get接口權(quán)限
offer_id invalid 商品 ID 錯(cuò)誤 檢查商品 ID 是否為數(shù)字,或商品是否存在
request frequency limit 調(diào)用頻率超限 添加延時(shí)(如time.sleep(1)),控制調(diào)用頻率

四、進(jìn)階優(yōu)化

1. 批量調(diào)用(多商品 ID)

python

運(yùn)行

def batch_get_item_detail(offer_id_list):
    """批量獲取商品詳情,避免頻率超限"""
    result_list = []
    for offer_id in offer_id_list:
        detail = get_1688_item_detail(offer_id)
        if detail:
            result_list.append(detail)
        time.sleep(1)  # 每次調(diào)用間隔1秒,避免限流
    return result_list

# 測試批量調(diào)用
offer_ids = ["699988776655", "700011223344"]
batch_result = batch_get_item_detail(offer_ids)
print(f"批量獲取{len(batch_result)}個(gè)商品詳情")

2. 數(shù)據(jù)持久化(保存到 JSON/Excel)

python

運(yùn)行

import pandas as pd

# 保存到JSON文件
with open("1688_item_detail.json", "w", encoding="utf-8") as f:
    json.dump(item_detail, f, ensure_ascii=False, indent=2)

# 保存到Excel(批量數(shù)據(jù)更適用)
df = pd.DataFrame(batch_result)
df.to_excel("1688_item_batch.xlsx", index=False, encoding="utf-8")

總結(jié)

1688 商品詳情 API 調(diào)用的核心是正確生成簽名,需嚴(yán)格遵循 ASCII 升序 + MD5 加密規(guī)則;

數(shù)據(jù)解析需聚焦業(yè)務(wù)字段(標(biāo)題、價(jià)格、SKU、賣家信息),過濾冗余嵌套數(shù)據(jù);

生產(chǎn)環(huán)境需添加頻率控制異常重試(如失敗后重試 2 次),避免接口調(diào)用失敗影響業(yè)務(wù)。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    2368

    瀏覽量

    66757
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4876

    瀏覽量

    90025
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    實(shí)戰(zhàn)指南:調(diào)用沃爾瑪平臺 API 高效獲取商品詳情數(shù)據(jù)

    ? 引言 在電商系統(tǒng)開發(fā)、價(jià)格監(jiān)控、競品分析等場景中,獲取準(zhǔn)確、實(shí)時(shí)的商品詳情數(shù)據(jù)至關(guān)重要。沃爾瑪作為全球零售巨頭,提供了強(qiáng)大的開放 API 接口供開發(fā)者使用。本文將詳細(xì)介紹如何通過沃
    的頭像 發(fā)表于 02-10 15:31 ?181次閱讀
    <b class='flag-5'>實(shí)戰(zhàn)</b>指南:<b class='flag-5'>調(diào)用</b>沃爾瑪平臺 <b class='flag-5'>API</b> 高效獲取<b class='flag-5'>商品</b><b class='flag-5'>詳情</b><b class='flag-5'>數(shù)據(jù)</b>

    調(diào)用DMM平臺API獲取商品詳情數(shù)據(jù)的技術(shù)實(shí)踐

    ? ?DMM平臺提供了豐富的API接口,允許開發(fā)者獲取其平臺上的商品數(shù)據(jù)。本文將介紹如何調(diào)用其中一個(gè)關(guān)鍵接口—— 商品詳情獲取
    的頭像 發(fā)表于 02-09 15:15 ?161次閱讀
    <b class='flag-5'>調(diào)用</b>DMM平臺<b class='flag-5'>API</b>獲取<b class='flag-5'>商品</b><b class='flag-5'>詳情</b><b class='flag-5'>數(shù)據(jù)</b>的技術(shù)實(shí)踐

    調(diào)用野莓平臺商品詳情API接口實(shí)踐

    ? ?在電商平臺的技術(shù)棧中,商品詳情信息的獲取是高頻且核心的操作。野莓平臺提供了穩(wěn)定、高效的API接口供開發(fā)者查詢商品詳情
    的頭像 發(fā)表于 02-04 16:42 ?522次閱讀
    <b class='flag-5'>調(diào)用</b>野莓平臺<b class='flag-5'>商品</b><b class='flag-5'>詳情</b><b class='flag-5'>API</b>接口實(shí)踐

    調(diào)用樂天平臺API獲取商品詳情數(shù)據(jù)

    ? ? 樂天平臺提供了豐富的API接口,允許開發(fā)者獲取平臺上的各類數(shù)據(jù)。其中,獲取商品詳情(通常稱為 letian 詳情)是一個(gè)常見的需求。
    的頭像 發(fā)表于 02-02 16:25 ?201次閱讀
    <b class='flag-5'>調(diào)用</b>樂天平臺<b class='flag-5'>API</b>獲取<b class='flag-5'>商品</b><b class='flag-5'>詳情</b><b class='flag-5'>數(shù)據(jù)</b>

    調(diào)用1688開放平臺商品分類API獲取分類數(shù)據(jù)

    如何調(diào)用1688的“獲取商品分類樹”API。 一、 接口簡介 API名稱: alibaba.category.get 功能描述: 此接口用于
    的頭像 發(fā)表于 02-02 16:19 ?298次閱讀
    <b class='flag-5'>調(diào)用</b><b class='flag-5'>1688</b>開放平臺<b class='flag-5'>商品</b>分類<b class='flag-5'>API</b>獲取分類<b class='flag-5'>數(shù)據(jù)</b>

    1688商品列表API接口快速上手指南

    數(shù)據(jù)準(zhǔn)確、合規(guī)性強(qiáng)的優(yōu)勢。本文將以最常用的「店鋪商品列表查詢接口」為例,從接口基礎(chǔ)認(rèn)知到 Python 實(shí)戰(zhàn)調(diào)用,幫助開發(fā)者快速掌握
    的頭像 發(fā)表于 01-21 10:24 ?547次閱讀

    1688商品詳情API接口使用指南

    1688 商品詳情 API 接口系列是阿里巴巴 1688 開放平臺(1688 Open Plat
    的頭像 發(fā)表于 01-17 10:46 ?2434次閱讀

    1688店鋪所有商品API使用指南

    1688(阿里巴巴批發(fā)網(wǎng))開放平臺提供了店鋪商品相關(guān) API,用于查詢指定店鋪的商品列表、商品詳情
    的頭像 發(fā)表于 12-22 13:49 ?997次閱讀

    1688店鋪詳情API使用指南

    等級、主營品類等核心數(shù)據(jù)。該接口為電商數(shù)據(jù)分析、店鋪監(jiān)控、供應(yīng)鏈對接、導(dǎo)購平臺開發(fā)等場景提供了關(guān)鍵的數(shù)據(jù)支撐。本文將從 摘要、接口概述、Python 請求示例、結(jié)語 四個(gè)維度,詳細(xì)介紹
    的頭像 發(fā)表于 12-19 10:20 ?1455次閱讀

    1688商品快遞費(fèi)用API開發(fā)指南

    一、摘要 1688商品快遞費(fèi)用API是阿里巴巴1688平臺提供的標(biāo)準(zhǔn)接口,主要用于查詢商品的運(yùn)費(fèi)信息。該接口可以幫助開發(fā)者獲取指定
    的頭像 發(fā)表于 12-18 10:53 ?458次閱讀

    1688商品詳情API指南

    一、摘要 1688平臺為開發(fā)者提供了完整的商品詳情API接口,支持獲取商品的詳細(xì)信息、規(guī)格參數(shù)、價(jià)格庫存等核心
    的頭像 發(fā)表于 12-11 11:09 ?769次閱讀

    1688商品詳情API完整指南

    一、摘要 1688商品詳情API是阿里巴巴旗下B2B平臺提供的重要數(shù)據(jù)接口,主要用于獲取商品的詳
    的頭像 發(fā)表于 11-25 10:18 ?399次閱讀

    如何通過API獲取1688平臺商品詳情

    ? ?在電商開發(fā)中,獲取商品詳情是常見的需求,尤其對于1688平臺(阿里巴巴旗下的批發(fā)采購平臺)。通過API接口,開發(fā)者可以高效地集成商品數(shù)據(jù)
    的頭像 發(fā)表于 11-11 14:00 ?1160次閱讀
    如何通過<b class='flag-5'>API</b>獲取<b class='flag-5'>1688</b>平臺<b class='flag-5'>商品</b><b class='flag-5'>詳情</b>

    淘寶商品詳情API接口技術(shù)解析實(shí)戰(zhàn)應(yīng)用

    出發(fā),系統(tǒng)解析淘寶商品詳情API接口的調(diào)用機(jī)制、數(shù)據(jù)結(jié)構(gòu)及典型應(yīng)用場景,并附上基于
    的頭像 發(fā)表于 11-04 09:50 ?334次閱讀

    閑魚平臺獲取商品詳情API接口

    ? ?閑魚是阿里巴巴旗下的二手交易平臺,為開發(fā)者提供了豐富的API接口,方便獲取商品數(shù)據(jù)。本文將詳細(xì)介紹如何通過API獲取商品詳情,包括申請
    的頭像 發(fā)表于 10-27 16:01 ?993次閱讀
    閑魚平臺獲取<b class='flag-5'>商品</b><b class='flag-5'>詳情</b><b class='flag-5'>API</b>接口