← Tous les articles

Créer un outil de suivi des prix en temps réel avec FourA

Les prix des concurrents changent toutes les heures. Voici comment créer un outil de suivi automatisé sur des centaines de pages produits avec un seul appel API et du Python de base.

Les décisions de tarification dans l'e-commerce sont rapides. Un concurrent baisse son prix de 5 % et, en quelques heures, les clients le remarquent. Les entreprises qui gagnent sont celles qui le remarquent en premier.

Construire un système de surveillance des prix nécessitait auparavant de maintenir une infrastructure de proxy, de gérer la détection de bots et d'écrire des scrapers personnalisés pour chaque site cible. FourA réduit cette complexité à un seul appel API.

Le Problème

La vérification manuelle des prix n'est pas scalable. Même un petit site e-commerce avec 50 concurrents doit suivre des centaines de pages produits. À raison de trois vérifications par jour, cela représente plus de 1 000 requêtes quotidiennes, chacune pouvant être bloquée, soumise à un rate limit ou cassée par une refonte de site.

L'Approche

Voici à quoi ressemble un pipeline de surveillance des prix prêt pour la production avec FourA :

1. Définir votre catalogue de produits

Commencez par une liste structurée d'URLs concurrentes et les sélecteurs CSS où apparaissent les prix :

products = [
    {"sku": "WDG-001", "competitor": "Store A", "url": "https://store-a.com/widget", "selector": ".price-current"},
    {"sku": "WDG-001", "competitor": "Store B", "url": "https://store-b.com/products/widget", "selector": "[data-price]"},
]

2. Récupération et parsing

FourA gère la partie complexe : empreinte TLS, rotation des proxys et rendu JavaScript. Votre code envoie simplement une URL et reçoit le HTML en retour :

import requests
from bs4 import BeautifulSoup

def get_price(product):
    resp = requests.post("https://eu.api.foura.ai/api/v1/tasks", headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    }, json={"url": product["url"], "type": "proxy"})
    
    html = resp.json()["content"]
    soup = BeautifulSoup(html, "html.parser")
    el = soup.select_one(product["selector"])
    return float(el.text.strip().replace("$", "").replace(",", "")) if el else None

3. Suivre les changements au fil du temps

Stockez les résultats dans une base de données ou un fichier CSV. Signalez les changements importants pour déclencher des alertes :

if abs(new_price - last_price) / last_price > 0.03:  # 3% threshold
    send_alert(f"{product['competitor']} changed {product['sku']} from ${last_price} to ${new_price}")

4. Planification avec Cron

Exécutez le tracker toutes les heures ou toutes les quelques heures selon la volatilité des prix de votre marché.

Pourquoi cette approche fonctionne

  • Aucune infrastructure à maintenir. Pas de serveurs proxy, pas de fermes de navigateurs, pas de logique de rotation d'IP.
  • Adaptation aux évolutions des protections. Le type de proxy de FourA réessaie automatiquement via différents itinéraires lorsqu'une route est bloquée.
  • Mise à l'échelle linéaire. Ajouter 100 produits supplémentaires représente simplement 100 appels API de plus, sans aucune modification d'architecture nécessaire.

Démarrer

L'ensemble du pipeline ci-dessus (sans la logique d'alerte) s'exécute en moins de 50 lignes de Python. Dès qu'il fonctionne pour 50 produits, passer à 500 n'est qu'une simple liste plus longue. L'appel API reste identique, le parsing reste identique et la planification reste identique. C'est tout l'intérêt.

Le code d'exemple complet est disponible dans le guide pratique, et la documentation de l'API détaille chaque paramètre nécessaire pour le personnaliser.