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.

Dans l'e-commerce, les décisions de tarification se prennent rapidement. 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.

La création d'un système de surveillance des prix exigeait auparavant de maintenir une infrastructure de proxy, de gérer les systèmes anti-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 viable à grande échelle. Même une petite entreprise d'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 requests quotidiennes, chacune pouvant être potentiellement 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'URL de concurrents et des sélecteurs CSS où les prix apparaissent :

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érer et parser

FourA gère les aspects complexes : le TLS fingerprinting, la rotation de proxy et le rendu JavaScript. Votre code envoie simplement une URL et reçoit du 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 évolutions dans le 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. Planifier avec Cron

Exécutez l'outil de suivi toutes les heures ou toutes les quelques heures selon la volatilité des prix sur votre marché.

Pourquoi cela fonctionne

  • Aucune infrastructure à maintenir. Pas de serveurs proxy, pas de fermes de navigateurs, pas de logique de rotation d'IP.
  • S'adapte aux changements de protection. Le type de proxy de FourA effectue automatiquement des tentatives via différentes routes lorsqu'une route est bloquée.
  • Évolue de manière linéaire. Ajouter 100 produits supplémentaires ne nécessite que 100 appels API de plus, sans aucune modification d'architecture.

Commencer

L'ensemble du pipeline ci-dessus (sans la logique d'alerte) s'exécute en moins de 50 lignes de Python. Et une fois qu'il fonctionne pour 50 produits, passer à 500 se résume à allonger la liste. L'appel API reste le même, le parsing reste le même et la planification reste la même. C'est tout l'intérêt.

Le code d'exemple complet est disponible dans le guide pratique, et la documentation de l'API couvre tous les paramètres dont vous aurez besoin pour le personnaliser.