Intégration de l'API de recommandation Taobao avec Python

Introduction

Les plateformes e-commerce comme Taobao utilisent des systèmes de recommandation avancés pour personnaliser l'expérience utilisateur. L'API item_recommend permet d'obtenir des listes de produits suggérées basées sur le comportement d'achat, les intérêts et l'historique de navigation des utilisateurs. Ce guide explique son utilisation avec Python, en couvrant les aspects techniques et les implémentations pratiques.

Fonctionnalités de l'API item_recommend

Cette API offre plusieurs caractéristiques clés :

  • Recommandation personnalisée : basée sur les préférences individuelles des utilisateurs.
  • Filtrage multidimensionnel : possibilité de combiner critères tels que catégorie, fourchette de prix ou mots-clés.
  • Mise à jour en temps réel : les recommandations s'adaptent aux acsions récentes de l'utilisateur.
  • Données détaillées : incluant titre, prix, image, volume de ventes et identifiant unique du produit.

Prérequis techniques

Avant de commencer, il faut :

  1. Disposer d'un compte sur la plateforme ouverte Taobao avec une application créée, fournissant une clé d'application (app_key) et un secret (app_secret).
  2. Avoir consulté la documentation officielle de l'API pour connaître la structure des requêtes et des réponses.

Exemple d'implémentation en Python

Le code suivant illustre comment interagir avec l'API. Les noms de variables et fonctions ont été modifiés pour une meilleure clarté et pour réduire la similarité avec d'autres exemples.

Constructino des paramètres de requête

import requests
import time

# Configuration de l'application Taobao
CLE_APPLICATION = "VOTRE_CLE_APP"
SECRET_APPLICATION = "VOTRE_SECRET_APP"
ADRESSE_API = "https://api.onebound.cn/taobao/api_call.php"

def preparer_parametres(cle, secret, terme_recherche, page_actuelle=1, nb_elements=10):
    """
    Prépare les paramètres nécessaires pour l'appel API.
    :param cle: Clé d'application
    :param secret: Secret d'application
    :param terme_recherche: Terme pour filtrer les produits
    :param page_actuelle: Numéro de la page souhaitée
    :param nb_elements: Nombre d'articles par page
    :return: Dictionnaire des paramètres
    """
    horodatage = str(int(time.time()))
    parametres = {
        "app_key": cle,
        "secret": secret,
        "api_name": "item_recommend",
        "q": terme_recherche,
        "lang": "fr",
        "page": page_actuelle,
        "page_size": nb_elements
    }
    return parametres

Récupération des produits recommandés

def recuperer_suggestions(cle, secret, terme_recherche, page_actuelle=1, nb_elements=10):
    """
    Effectue la requête et retourne la liste des articles recommandés.
    :param cle: Clé d'application
    :param secret: Secret d'application
    :param terme_recherche: Terme de recherche
    :param page_actuelle: Page à récupérer
    :param nb_elements: Nombre d'articles par page
    :return: Liste d'articles ou None en cas d'échec
    """
    params = preparer_parametres(cle, secret, terme_recherche, page_actuelle, nb_elements)
    reponse = requests.get(ADRESSE_API, params=params)

    if reponse.status_code == 200:
        donnees = reponse.json()
        liste_articles = donnees.get("items", [])
        return liste_articles
    else:
        print(f"Erreur lors de la requête : code {reponse.status_code}")
        return None

Test de l'intégration

if __name__ == "__main__":
    terme = "vêtements"
    resultats = recuperer_suggestions(CLE_APPLICATION, SECRET_APPLICATION, terme)

    if resultats:
        for article in resultats:
            print(f"Titre : {article.get('title')}")
            print(f"Image : {article.get('pic_url')}")
            print(f"Identifiant : {article.get('num_iid')}")
            print(f"Prix : {article.get('price')}")
            print(f"Volume de ventes : {article.get('volume')}")
            print("-" * 40)
    else:
        print("Aucun article trouvé. Vérifiez les paramètres.")

Analyse des données de réponse

La réponse de l'API item_recommend contient principalement un tableau items où chaque élément représente un produit avec les attributs suivants :

  • title : désignation du produit.
  • pic_url : lien vers l'image principale.
  • num_iid : identifiant unique du produit.
  • price : prix actuel.
  • volume : nombre d'unités vendues.

Considérations d'utilisation

Pour une intégration robuste, il est conseillé de :

  • Respecter les limites de taux imposées par Taobao pour éviter le blocage de l'API.
  • Implémenter une gestion d'erreurs avancée pour les problèmes réseau ou de parsing JSON.
  • Envisager le stockage des données récupérées dans une base de données pour des traitements ultérieurss.
  • Étendre les fonctionnalités, par exemple en ajoutant une pagination automatique ou des filtres combinés.

Étiquettes: Python API Taobao Scraping Web Systèmes de Recommandation e-commerce

Publié le 16 juin à 20h33