亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

小紅書商品詳情簽名算法Python

鄧林 ? 來源:jf_63013664 ? 作者:jf_63013664 ? 2025-08-25 16:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

?

在電商開發(fā)的戰(zhàn)場上摸爬滾打多年,每一次對接新平臺的 API 都是一場硬仗。要說最讓人印象深刻的,小紅書商品詳情 API 接口的對接經(jīng)歷絕對能排上前三。從申請權(quán)限時的層層關(guān)卡,到數(shù)據(jù)抓取時的各種 “幺蛾子”,今天就掰開了揉碎了,把這段實戰(zhàn)經(jīng)歷和能用得上的代碼技巧全分享出來!

剛開始接觸小紅書商品詳情 API,天真地以為和其他平臺差不多,按文檔操作就能輕松拿到數(shù)據(jù)?,F(xiàn)實卻給我潑了一盆冷水 —— 小紅書的開發(fā)者平臺審核堪稱 “魔鬼級別”,不僅要詳細(xì)說明應(yīng)用用途、使用場景,還得提供完整的業(yè)務(wù)規(guī)劃。光是提交申請材料就反復(fù)修改了四五次,等了整整一周才收到通過通知。好不容易拿到了client_id和client_secret,簽名算法又成了攔路虎。小紅書采用的HMAC-SHA256加密方式,對參數(shù)順序、編碼格式要求極為嚴(yán)格,稍有差錯就返回401 Unauthorized。那段時間對著文檔和官方示例代碼反復(fù)研究,終于啃出了簽名生成函數(shù):

python

運行

import hashlib
import hmac
import time
import urllib.parse


def generate_signature(params, client_secret):
    sorted_params = sorted(params.items(), key=lambda x: x[0])
    query_str = ""
    for k, v in sorted_params:
        if isinstance(v, list):
            v = ",".join(map(str, v))
        query_str += f"{k}{v}"
    sign_str = f"{client_secret}{query_str}{client_secret}"
    return hmac.new(
        client_secret.encode('utf-8'),
        sign_str.encode('utf-8'),
        hashlib.sha256
    ).hexdigest().upper()


# 使用示例
api_params = {
    "method": "xhs.product.detail.get",
    "client_id": "your_client_id",
    "product_id": "123456789",
    "timestamp": str(int(time.time()))
}
signed_params = generate_signature(api_params, "your_client_secret")
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

python返回結(jié)果

Result Object:
---------------------------------------
{
	"item": {
		"num_iid": "685d0fe3c16548001691655c",
		"title": "奶白釉面包貓卡通可愛陶瓷餐具碗碟家用一二人食碗盤飯盤子釉下彩 · 4.75寸新佩碗/奶白釉面包貓 無規(guī)格",
		"desc_short": "",
		"price": 11,
		"total_price": "",
		"suggestive_price": "",
		"orginal_price": 11,
		"nick": "喵植雜貨鋪的店",
		"num": 200,
		"min_num": 0,
		"detail_url": "https://www.xiaohongshu.com/goods-detail/685d0fe3c16548001691655c",
		"pic_url": "http://mall-i4.xhscdn.com/material_space/f6fbc3bd-443b-4f75-8909-fb5484dd3573?imageView2/2/w/1080/format/webp/q/80",
		"brand": null,
		"brandId": "",
		"rootCatId": "",
		"cid": "",
		"desc": "

", "desc_img": [ "https://file1.elecfans.com//web3/M00/2B/7B/wKgZO2isG4WAMPzMAAEm5rCqx28321.jpg", "https://file1.elecfans.com/web3/M00/2B/69/wKgZPGisGuaAPYbFAAACCUoruo8524.jpg", "https://file1.elecfans.com//web3/M00/2B/7B/wKgZO2isG4WAKsBJAAEJtD_LhPA492.jpg", "https://file1.elecfans.com//web3/M00/2B/7B/wKgZO2isG4WAEq4yAAEqphMFR0Q944.jpg", "https://file1.elecfans.com//web3/M00/2B/7B/wKgZO2isG4WAZN9bAADD0K_mB48577.jpg", "https://file1.elecfans.com/web3/M00/2B/7B/wKgZO2isGumAehmpAAFIujkshVM029.jpg", "https://file1.elecfans.com/web3/M00/2B/69/wKgZPGisGuqAKQqbAACbKgy43JM420.jpg", "https://file1.elecfans.com//web3/M00/2B/7B/wKgZO2isG4WAWdgEAADVfIZYMts530.jpg", "https://file1.elecfans.com/web3/M00/2B/7B/wKgZO2isGuuALxojAAClLj4Tf1g651.jpg", "https://file1.elecfans.com//web3/M00/2B/7B/wKgZO2isG4WAEgOlAAEa0DFkQl4588.jpg", "https://file1.elecfans.com/web3/M00/2B/69/wKgZPGisGu6AXfL6AACdkVCaOuU203.jpg", "https://file1.elecfans.com//web3/M00/2B/7B/wKgZO2isG4WAVIU6AADNCMR78Sc685.jpg", "https://file1.elecfans.com/web3/M00/2B/69/wKgZPGisGu-APiIQAAEfXSap07E396.jpg", "https://file1.elecfans.com//web3/M00/2B/7B/wKgZO2isG4WAMQ4qAACZ4hi2ARc880.jpg", "https://file1.elecfans.com//web3/M00/2B/7B/wKgZO2isG4WARxjNAACkHCZWawE467.jpg", "https://file1.elecfans.com/web3/M00/2B/7B/wKgZO2isGvKAZtJNAACpbgm7md0264.jpg", "https://file1.elecfans.com/web3/M00/2B/7B/wKgZO2isGvKAOUCTAAE8zK31p84679.jpg", "https://file1.elecfans.com/web3/M00/2B/69/wKgZPGisGvOAHp1fAACEGOjiWWg891.jpg", "https://file1.elecfans.com/web3/M00/2B/7B/wKgZO2isGvSAIRjQAAC_Af5YwY4776.jpg", "https://file1.elecfans.com/web3/M00/2B/69/wKgZPGisGvWARpd5AADPgSo_rHk381.jpg", "https://file1.elecfans.com/web3/M00/2B/7B/wKgZO2isGvaAa8WPAACys93Q9ts329.jpg", "https://file1.elecfans.com/web3/M00/2B/7B/wKgZO2isGvaAEiWaAACm4wmnEvM461.jpg" ], poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

解決了簽名問題,新的挑戰(zhàn)又接踵而至。小紅書對 API 調(diào)用頻率限制嚴(yán)格,而且不同接口的限流規(guī)則還不一樣。為了避免觸發(fā)封禁,我用 Python 的asyncio庫結(jié)合隊列實現(xiàn)了異步請求和限流控制。比如設(shè)置每秒最多發(fā)起 10 次請求,超出部分自動排隊:

python

運行

import asyncio
import ???????aiohttp


class RateLimiter:
    def __init__(self, rate_limit):
        self.semaphore = asyncio.Semaphore(rate_limit)

    async def limit(self):
        await self.semaphore.acquire()
        try:
            yield
        finally:
            self.semaphore.release()


async def fetch_product_detail(session, product_id, signed_params):
    async with RateLimiter(10).limit():
        url = "https://open.xiaohongshu.com/api/rest"
        params = {**signed_params, "product_id": product_id}
        async with session.get(url, params=params) as response:
            return await response.json()


async def main(product_ids, signed_params):
    async with aiohttp.ClientSession() as session:
        tasks = [fetch_product_detail(session, pid, signed_params) for pid in product_ids]
        results = await asyncio.gather(*tasks)
        return results


# 示例調(diào)用
product_ids = ["123456789", "987654321"]
signed_params = {...}  # 已簽名參數(shù)
asyncio.run(main(product_ids, signed_params))

拿到數(shù)據(jù)后,才發(fā)現(xiàn)小紅書商品詳情的結(jié)構(gòu)遠(yuǎn)比想象中復(fù)雜。商品信息、用戶評價、關(guān)聯(lián)筆記、促銷活動等數(shù)據(jù)嵌套多層,光是解析 JSON 就要費不少功夫。而且小紅書會不定期調(diào)整接口返回字段,有次突然發(fā)現(xiàn)原本正常的 “商品規(guī)格” 字段消失了,害得我緊急排查了半天。后來學(xué)聰明了,寫了個通用的數(shù)據(jù)解析函數(shù),還加了字段缺失的容錯處理:

python

運行

def parse_product_data(raw_data):
    try:
        return {
            "product_name": raw_data.get("product_info", {}).get("name", ""),
            "price": raw_data.get("product_info", {}).get("price", 0),
            "sales_count": raw_data.get("product_info", {}).get("sales_count", 0),
            "user_rating": raw_data.get("evaluation_info", {}).get("score", 0),
            "main_image": raw_data.get("product_info", {}).get("main_image", "")
        }
    except KeyError as e:
        print(f"字段缺失: {e}")
        return {}


# 示例調(diào)用
raw_response = {...}  # API返回數(shù)據(jù)
parsed_data = parse_product_data(raw_response)
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

在開發(fā)一個小紅書商品比價工具時,需要實時監(jiān)控商品價格變動。最開始我采用輪詢的方式定時調(diào)用 API,結(jié)果不僅浪費資源,還容易觸發(fā)限流。后來改用???????Webhook訂閱的方式,當(dāng)商品信息更新時,小紅書主動推送通知,大大提高了效率。雖然接入 Webhook 的過程也不輕松,要處理簽名驗證、消息加密、重復(fù)消息過濾等問題,但最終實現(xiàn)的效果堪稱絲滑。

python

運行

# 處理Webhook消息示例
import hmac
import hashlib
from flask import Flask, request, abort

app = Flask(__name__)
SECRET_KEY = "your_webhook_secret"


@app.route('/webhook', methods=['POST'])
def handle_webhook():
    signature = request.headers.get('X-Xhs-Signature')
    if not signature:
        abort(401)

    data = request.data
    local_signature = hmac.new(
        SECRET_KEY.encode('utf-8'),
        data,
        hashlib.sha256
    ).hexdigest()

    if signature != local_signature:
        abort(401)

    # 處理接收到的商品更新數(shù)據(jù)
    webhook_data = request.json
    # 業(yè)務(wù)邏輯處理...
    return "OK", 200


if __name__ == '__main__':
    app.run(debug=True)
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

這些年在小紅書 API 開發(fā)上踩過的坑,都成了寶貴的經(jīng)驗財富。每一次攻克難題,都像是解鎖了新技能。

?審核編輯 黃宇

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

    關(guān)注

    23

    文章

    4746

    瀏覽量

    96983
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    2013

    瀏覽量

    65931
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4850

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

    出發(fā),系統(tǒng)解析淘寶商品詳情API接口的調(diào)用機(jī)制、數(shù)據(jù)結(jié)構(gòu)及典型應(yīng)用場景,并附上基于Python的完整調(diào)用示例,助力開發(fā)者高效集成商品數(shù)據(jù)服務(wù)。 關(guān)鍵詞 淘寶開放平臺;
    的頭像 發(fā)表于 11-04 09:50 ?11次閱讀

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

    ? ?閑魚是阿里巴巴旗下的二手交易平臺,為開發(fā)者提供了豐富的API接口,方便獲取商品數(shù)據(jù)。本文將詳細(xì)介紹如何通過API獲取商品詳情,包括申請流程、調(diào)用方法和代碼示例。內(nèi)容基于公開API文檔和實踐經(jīng)驗
    的頭像 發(fā)表于 10-27 16:01 ?336次閱讀
    閑魚平臺獲取<b class='flag-5'>商品</b><b class='flag-5'>詳情</b>API接口

    當(dāng)當(dāng)接口開發(fā)避坑指南:3 大痛點 + 簽名模板,0 失敗接入商品詳情接口

    本文詳解當(dāng)當(dāng)商品詳情接口的接入難點與實戰(zhàn)方案,涵蓋認(rèn)證簽名、參數(shù)優(yōu)先級、數(shù)據(jù)解析等核心問題,提供Python代碼示例與緩存優(yōu)化策略,助力開發(fā)者快速穩(wěn)定調(diào)用接口,避開90%常見坑。
    的頭像 發(fā)表于 10-23 13:31 ?56次閱讀

    搜索商品ID獲取商品詳情接口

    ? ?在電商平臺或庫存管理系統(tǒng)中,通過商品ID快速搜索并獲取商品詳情是一項核心功能。該接口允許用戶或應(yīng)用程序輸入唯一的商品標(biāo)識符(ID),返回結(jié)構(gòu)化數(shù)據(jù)如名稱、價格、庫存等。本文將逐步
    的頭像 發(fā)表于 10-20 15:46 ?254次閱讀
    搜索<b class='flag-5'>商品</b>ID獲取<b class='flag-5'>商品</b><b class='flag-5'>詳情</b>接口

    小紅書筆記詳情 API 實戰(zhàn)指南:從開發(fā)對接、場景落地到收益挖掘(附避坑技巧)

    本文詳解小紅書筆記詳情API的開發(fā)對接、實戰(zhàn)場景與收益模式,涵蓋注冊避坑、簽名生成、數(shù)據(jù)解析全流程,并分享品牌營銷、內(nèi)容創(chuàng)作、SAAS工具等落地應(yīng)用,助力開發(fā)者高效掘金“種草經(jīng)濟(jì)”。
    的頭像 發(fā)表于 09-26 14:03 ?344次閱讀
    <b class='flag-5'>小紅</b>書筆記<b class='flag-5'>詳情</b> API 實戰(zhàn)指南:從開發(fā)對接、場景落地到收益挖掘(附避坑技巧)

    淘寶商品詳情接口(item_get)企業(yè)級全解析:參數(shù)配置、簽名機(jī)制與 Python 代碼實戰(zhàn)

    本文詳解淘寶開放平臺taobao.item_get接口對接全流程,涵蓋參數(shù)配置、MD5簽名生成、Python企業(yè)級代碼實現(xiàn)及高頻問題排查,提供可落地的實戰(zhàn)方案,助你高效穩(wěn)定獲取商品數(shù)據(jù)。
    的頭像 發(fā)表于 09-26 09:13 ?343次閱讀
    淘寶<b class='flag-5'>商品</b><b class='flag-5'>詳情</b>接口(item_get)企業(yè)級全解析:參數(shù)配置、<b class='flag-5'>簽名</b>機(jī)制與 <b class='flag-5'>Python</b> 代碼實戰(zhàn)

    愛回收商品詳情接口全方位對接指南:從認(rèn)證機(jī)制到數(shù)據(jù)提取最佳實踐(附 Python 代碼 + 成色數(shù)據(jù)處理)

    本文詳解愛回收二手?jǐn)?shù)碼商品詳情接口對接,涵蓋認(rèn)證、簽名生成、成色映射、估價緩存等核心環(huán)節(jié),提供可復(fù)用代碼與避坑指南,解決簽名失敗、數(shù)據(jù)延遲等常見問題。
    的頭像 發(fā)表于 09-25 10:33 ?407次閱讀

    當(dāng)當(dāng)網(wǎng)商品詳情接口全方位對接指南:從認(rèn)證機(jī)制到數(shù)據(jù)提取最佳實踐

    本文詳解當(dāng)當(dāng)網(wǎng)商品詳情接口的全流程技術(shù)對接方案,涵蓋OAuth 2.0認(rèn)證、簽名生成、Python實戰(zhàn)代碼及企業(yè)級優(yōu)化策略,助開發(fā)者高效構(gòu)建比價系統(tǒng)、導(dǎo)購應(yīng)用等,實現(xiàn)數(shù)據(jù)合規(guī)穩(wěn)定獲取。
    的頭像 發(fā)表于 09-25 09:23 ?288次閱讀

    VVIC 平臺商品詳情接口高效調(diào)用方案:從簽名驗證到數(shù)據(jù)解析全流程

    本文詳解VVIC平臺商品詳情接口調(diào)用全流程,涵蓋參數(shù)配置、簽名生成、異常處理與數(shù)據(jù)解析,提供可復(fù)用的Python代碼及避坑指南,助力開發(fā)者高效實現(xiàn)安全、穩(wěn)定的數(shù)據(jù)對接。
    的頭像 發(fā)表于 09-23 10:28 ?322次閱讀

    淘寶商品詳情 API 實戰(zhàn):5 大策略提升店鋪轉(zhuǎn)化率(附簽名優(yōu)化代碼 + 避坑指南)

    ”“差評失控” 等轉(zhuǎn)化率殺手。本文結(jié)合我對接 300 + 淘寶店鋪的實戰(zhàn)經(jīng)驗,拆解 API 如何落地到動態(tài)定價、庫存預(yù)警等 5 大場景,代碼做了簽名優(yōu)化和錯誤處理,新手也能直接復(fù)用,避開 90% 的調(diào)用坑。 一、淘寶商品詳情 A
    的頭像 發(fā)表于 09-15 10:53 ?637次閱讀

    小紅書:通過商品標(biāo)簽API自動生成內(nèi)容標(biāo)簽,優(yōu)化社區(qū)推薦算法

    ? ?小紅書作為領(lǐng)先的社交電商平臺,用戶生成內(nèi)容(UGC)是其核心驅(qū)動力。隨著商品數(shù)量和用戶互動激增,傳統(tǒng)推薦算法面臨效率瓶頸。本文探討小紅書如何利用
    的頭像 發(fā)表于 09-10 16:46 ?606次閱讀
    <b class='flag-5'>小紅</b>書:通過<b class='flag-5'>商品</b>標(biāo)簽API自動生成內(nèi)容標(biāo)簽,優(yōu)化社區(qū)推薦<b class='flag-5'>算法</b>

    小紅書電商 API 實現(xiàn)小紅書店鋪商品用戶畫像精準(zhǔn)構(gòu)建

    ? 在當(dāng)今社交電商時代,小紅書作為領(lǐng)先的內(nèi)容電商平臺,擁有海量用戶數(shù)據(jù)和商品信息。店鋪通過構(gòu)建精準(zhǔn)用戶畫像,能實現(xiàn)個性化推薦、提升轉(zhuǎn)化率和用戶粘性。利用小紅書電商 API,開發(fā)者可以自動化獲取數(shù)據(jù)
    的頭像 發(fā)表于 08-28 15:57 ?352次閱讀
    用<b class='flag-5'>小紅</b>書電商 API 實現(xiàn)<b class='flag-5'>小紅</b>書店鋪<b class='flag-5'>商品</b>用戶畫像精準(zhǔn)構(gòu)建

    借助小紅書電商 API,小紅書店鋪商品搜索曝光率提升

    在競爭激烈的小紅書電商生態(tài)中,商品搜索曝光率直接決定了店鋪的流量與轉(zhuǎn)化。通過合理運用 小紅書開放平臺提供的電商 API ,商家可系統(tǒng)性優(yōu)化商品展示策略,實現(xiàn)曝光量級躍升。以下是關(guān)鍵實施
    的頭像 發(fā)表于 08-28 15:41 ?379次閱讀

    利用小紅書電商 API 接口,實現(xiàn)小紅書店鋪商品推薦個性化

    ? 在當(dāng)今電商競爭激烈的環(huán)境下,個性化商品推薦已成為提升用戶體驗和轉(zhuǎn)化率的關(guān)鍵策略。小紅書(Xiaohongshu)作為領(lǐng)先的社交電商平臺,提供了強(qiáng)大的電商 API 接口,允許開發(fā)者訪問用戶數(shù)
    的頭像 發(fā)表于 08-27 15:31 ?541次閱讀
    利用<b class='flag-5'>小紅</b>書電商 API 接口,實現(xiàn)<b class='flag-5'>小紅</b>書店鋪<b class='flag-5'>商品</b>推薦個性化

    小紅書電商 API 接口:開啟小紅書種草商品銷售轉(zhuǎn)化新路徑

    ? 在當(dāng)今數(shù)字化營銷時代,小紅書作為中國領(lǐng)先的社交電商平臺,憑借其“種草”文化(即用戶通過分享真實體驗來推廣商品),已成為品牌銷售轉(zhuǎn)化的關(guān)鍵渠道。而小紅書電商 API 接口的推出,為商家提供了一條
    的頭像 發(fā)表于 08-26 15:34 ?396次閱讀
    <b class='flag-5'>小紅</b>書電商 API 接口:開啟<b class='flag-5'>小紅</b>書種草<b class='flag-5'>商品</b>銷售轉(zhuǎn)化新路徑