Passer au contenu principal

Aperçu

Olostep fournit une API de web scraping qui permet le suivi en temps réel des prix de millions de produits sur un site e-commerce à intervalles réguliers (par exemple, toutes les quelques heures) de manière évolutive et économique. Ceci est utile pour les entreprises qui souhaitent surveiller les fluctuations de prix, comparer les prix sur plusieurs sites web, ou suivre les stratégies de tarification des concurrents. Dans ce guide, nous verrons comment un client utilise Olostep pour configurer un suivi automatisé des prix pour des millions de produits Amazon quotidiennement.

Pourquoi utiliser Olostep pour le suivi des prix ?

  • Évolutivité : Suivez les prix de millions de produits toutes les quelques heures.
  • Automatisation : Configurez des tâches de scraping planifiées qui s’exécutent à des moments prédéfinis/intervalles réguliers.
  • Formats multiples : Récupérez les données au format JSON, html ou markdown.
  • Parseurs personnalisés : Extrayez uniquement les informations JSON pertinentes avec nos parseurs ou passez les vôtres à l’API.

Comment suivre les prix avec Olostep

Aperçu de la configuration du processus

Lors du suivi des produits à grande échelle, nous recommandons d’utiliser le point de terminaison Batches d’Olostep. Ce point de terminaison vous permet d’envoyer plusieurs lots d’URLs (chacun jusqu’à 100k) à traiter en parallèle et de récupérer ensuite les résultats après 5 à 8 minutes. Vous pouvez envoyer plusieurs lots en même temps, surveiller leur progression et récupérer les résultats une fois qu’ils sont terminés. De cette manière, vous pouvez traiter des millions d’URLs en 15-20 minutes. Le flux global pour le suivi des prix avec Olostep est le suivant :
  1. Lisez les produits de la base de données et enregistrez les URLs que vous souhaitez suivre dans un fichier CSV.
  2. Lisez les données du fichier CSV et démarrez un lot en utilisant le point de terminaison batch d’Olostep. Cela se fait en envoyant les données au point de terminaison par morceaux de jusqu’à 100 000 URLs à la fois.
  3. Vérifiez le statut du lot toutes les 60 secondes pour surveiller la progression.
  4. Une fois le lot terminé, lisez le contenu et utilisez-le dans votre flux de travail.
Vous pouvez démarrer un lot et obtenir le contenu html/markdown de la page, puis l’analyser vous-même pour extraire les données souhaitées. Mais nous recommandons de démarrer le lot avec un parseur afin que vous receviez un objet JSON contenant uniquement les données analysées dont vous avez besoin. Vous pouvez passer votre propre parseur à l’API ou utiliser l’un de ceux préconstruits que nous avons pour certains sites web courants (par exemple, pages de produits Amazon, résultats de recherche Google, profils Linkedin, etc.). Nous stockons les données pour chaque lot pendant 7 jours afin que vous puissiez les récupérer plusieurs fois si nécessaire.

Étape 1 : Exporter les données des produits depuis votre base de données

La première étape consiste à récupérer les informations sur les produits de votre base de données et à les enregistrer au format CSV. Ce fichier doit contenir les identifiants des produits, les URLs, et toutes les métadonnées supplémentaires nécessaires pour le suivi.

Étape 2 : Démarrer un lot avec Olostep

Pour démarrer un lot, lisez les données des produits à partir du CSV et envoyez-les au point de terminaison batch d’Olostep. Cela se fait en utilisant une requête HTTP POST avec une charge utile JSON. Chaque lot peut contenir jusqu’à 100k URLs. Pour les ensembles de données volumineux (>100 000 URLs), divisez-les en plusieurs lots et envoyez-les en parallèle. Un lot se compose d’un tableau d’éléments, où chaque élément représente une URL de produit à traiter. Voici la structure d’une requête de lot

Structure du tableau de lot

Chaque élément dans le batch_array doit suivre cette structure :
Paramètres
array
requis
Tableau d’éléments à traiter. Maximum de 100 000 URLs par lot. Chaque élément doit avoir un custom_id unique.
string
requis
Code pays à deux lettres (par exemple, “IT” pour l’Italie).
string
Nom du parseur personnalisé à utiliser (par exemple, “@olostep/amazon-it-product”). Contactez-nous à info@olostep.com pour obtenir l’accès aux parseurs préconstruits ou pour créer le vôtre.
Réponse
Le point de terminaison renvoie un objet JSON contenant le batch_id, qui peut être utilisé pour surveiller le statut et ensuite récupérer les résultats. Exemple d’utilisation

Étape 3 : Surveiller le statut du lot

Une fois qu’un lot est démarré, tu devras surveiller son statut pour déterminer quand le traitement est terminé. L’API fournit un point de terminaison de statut qui peut être interrogé périodiquement (par exemple, toutes les 60 secondes) avec le batch_id
Pour une utilisation en production, il est recommandé de mettre en œuvre une surveillance asynchrone pour gérer plusieurs lots efficacement :

Étape 4 : Récupérer les IDs pour les éléments terminés

Une fois que le lot est marqué comme terminé, tu peux récupérer la liste des éléments terminés. Chaque élément aura un retrieve_id. Si tu veux le contenu réel, utilise le point de terminaison retrieve en passant le retrieve_id
Cela retournera les éléments terminés qui ont chacun un retrieve_id pour chaque URL envoyée. Tu peux ensuite utiliser le point de terminaison retrieve pour récupérer et stocker les données extraites (html, markdown ou JSON) pour chaque URL. Tu peux obtenir le retrieve_id pour chaque élément du lot en utilisant le code suivant :

Étape 5 : Récupérer le contenu pour chaque élément

Une fois que tu as le retrieve_id pour chaque élément, tu peux récupérer son contenu (HTML, Markdown ou JSON) en utilisant le point de terminaison retrieve :

Conclusion

En suivant ces étapes, tu peux configurer un système de suivi des prix automatisé en utilisant Olostep. Bientôt, nous publierons un dépôt github open-source avec le code complet pour cet exemple.