Comment récupérer les pages d'eBay pour obtenir des informations sur les prix ?
Gabriel Cioci le 10 août 2021
Permettez-moi de vous brosser un tableau. Vous venez de lancer votre boutique en ligne de cartouches de jeux vidéo rétro rares, et vous ne savez pas vraiment comment gérer le prix des produits.
Fixer le prix d'un produit est toujours un défi : si le prix est trop bas, vous réduisez la marge bénéficiaire. Si le prix est trop élevé, les clients ne seront pas intéressés par le produit et l'achèteront à un concurrent.
Décisions, décisions. Que faire ? Face à ce problème, vous avez deux solutions :
- Passer des heures chaque jour à rechercher les prix pratiqués par les concurrents
- Faites preuve d'intelligence et créez un script automatique qui effectue cette tâche banale à votre place.
Pouvez-vous deviner quelle option nous choisirons pour cet article ? Parce que le temps, c'est de l'argent et que j'aime me faciliter la vie chaque fois que je le peux, nous choisirons la deuxième option.
Si la première option vous semble plus amusante, vous pouvez tout de même lire cet article. Il est clair que vous avez trop de temps libre.
Comment le scraping d'eBay peut aider votre boutique en ligne
eBay est le deuxième site de commerce électronique en ligne aux États-Unis, avec 19,7 % du marché. Avec 182 millions d'utilisateurs actifs, eBay est l'un des meilleurs sites de veille sur les prix.
Pour cet exemple, nous ne récupérerons que le prix du produit, mais eBay est un trésor de données. Vous pouvez toujours récupérer la section des avis, extraire des mots-clés négatifs, effectuer une analyse des sentiments et déterminer pourquoi les clients ne sont pas satisfaits du produit qu'ils ont acheté.
Vous pouvez également consulter la section " Les personnes qui ont vu cet article l'ont également vu" pour connaître les souhaits des clients. Vous pouvez utiliser ces informations pour ajouter de nouveaux produits à votre boutique ou créer des offres groupées à prix réduit avec plus de produits. Les gens vont adorer !
Comment récupérer eBay avec WebScrapingAPI
L'un des principaux obstacles au web scraping est d'éviter le blocage du site web qui vous intéresse. Heureusement, vous n'avez pas à vous en soucier lorsque vous disposez du bon outil. Dans ce cas, WebScrapingAPI est la meilleure solution pour trois raisons simples :
- Nous offrons 1 000 demandes par mois avec l'offre gratuite, sans carte requise.
- L'API dispose d'un pool de proxy de plus de 100 millions d'adresses IP tournantes, ce qui garantit l'absence de chevauchement des demandes.
- Vous pouvez intégrer leur API avec une seule ligne de code.
Vous vous demandez peut-être pourquoi nous utilisons une API de scraping au lieu de créer la nôtre. La raison est simple : la création d'un outil de scraping à partir de zéro peut vous prendre plusieurs semaines.
Le plus gros problème n'est pas de créer l'outil lui-même, mais de le peaufiner pour que les sites ne le signalent pas comme un robot.
Clé d'accès à l'API et authentification
Rendez-vous sur le site WebScrapingAPI et créez un compte. Vous obtiendrez une clé API et 1 000 requêtes gratuitement.
Installer les dépendances
Notre projet est léger et ne nécessite que deux dépendances : axios et cheerio. Axios est un client HTTP basé sur les promesses pour Node.JS. Nous utilisons cette bibliothèque pour appeler la WebScrapingAPI. La seconde bibliothèque, cheerio, est une implémentation allégée de jQuery pour le serveur, et nous l'utilisons pour analyser la page produit. Utilisez cette commande pour installer les dépendances :
npm install axios cheerio
Démarrer le projet
Créez un fichier index.js et collez-y le code suivant :
const cheerio = require('cheerio');
const axios = require('axios');
const api_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
const product_url = 'https://www.ebay.com/itm/174620280276?epid=4444&hash=item28a82e05d4:g:UpMAAOSwfY5gYDr6';
const api_url = `https://api.webscrapingapi.com/v1?api_key=${api_key}&url=${encodeURIComponent(product_url)}`;
const hour_in_ms = 1000 * 60 * 60;
let product_price = null;
const check_price = async () => {
// Scrape the document
// Parse the document
// Process the results
// Check for any price change in one hour
setTimeout(check_price, hour_in_ms)
}
(async () => check_price())()
Comme vous pouvez le voir, nous utilisons une fonction récursive avec un délai d'attente pour récupérer la page du produit toutes les heures et vérifier s'il y a eu un changement de prix.
Scraper la ou les page(s)
Remplacer // Scraper le document avec ce code :
let response;
try {
response = await axios.get(api_url);
} catch (error) {
console.log(error);
process.exit();
}
const $ = cheerio.load(response.data);
Ce code utilise l'interface WebScrapingAPI pour récupérer la page du produit eBay et convertit les résultats en une instance de cheerio.
Inspecter le code source
Nous avons récupéré toute la page du produit, mais nous n'avons besoin que du prix du produit. Nous pouvons utiliser l'instance cheerio pour obtenir la valeur du prix. Le sélecteur pour le prix du produit est #mainContent [itemprop="price"].
Analyse du code HTML
Remplacer // Analyser le document avec le code suivant :
let price = $('#mainContent [itemprop="price"]').html()
Traiter les résultats
Le prix se présente sous ce format : SYMBOLE DE LA DEVISE MONTANT. Nous devons extraire uniquement le montant. Remplacer // Traiter les résultats avec ce code :
price = parseInt(price
.split(' ')[1]
.replace('$', '')
.replace(' ', '')
.split(',').join('')
.split('.')[0])
if(!product_price) {
console.log(`Initial product price:`, price)
} else {
if(product_price !== price) {
console.log('New price for product:', price)
}
}
product_price = price
Ce code nettoiera le prix en effectuant les actions suivantes :
- Supprimer la devise (US)
- Supprimer le symbole de la devise ($)
- Supprimer les espaces ( )
- Supprimer les virgules du nombre
- Supprimer les décimales
Une fois le prix analysé, nous enregistrons le coût initial ou le nouveau prix s'il a changé entre les sessions d'analyse.
Conclusion
Avec quelques lignes de code et un outil fantastique comme WebScrapingAPI, nous avons réussi à avoir un script qui récupère le prix de n'importe quel produit sur eBay. À partir de là, tout est possible. Vous pouvez faire passer le script au niveau supérieur et mettre en œuvre les améliorations suivantes :
- Récupérer le titre du produit pour faciliter la classification des prix
- Recherche de plusieurs produits et comparaison des prix
- Scraper un autre site eBay (comme ebay.de ou ebay.ca) et comparer les prix pour le même produit.
- Inversez la table et récupérez la page produit d'Amazon pour comparer les prix entre les deux sites pour le même produit.
- Mettre en place des notifications par courriel ; vous devez utiliser nodemailer pour ce faire.
- Mettre en place des notifications Slack ; vous pouvez utiliser cette bibliothèque pour réaliser cette tâche.
La meilleure partie de cette solution appliquée à un cas d'utilisation réel est que vous pouvez faire tout cela sans dépenser d'argent ni de temps précieux. En effet, WebScrapingAPI propose un essai gratuit de deux semaines qui vous permet d'utiliser toutes ses fonctionnalités gratuitement !
Nouvelles et mises à jour
Restez au courant des derniers guides et nouvelles sur le web scraping en vous inscrivant à notre lettre d'information.
We care about the protection of your data. Read our <l>Privacy Policy</l>.Privacy Policy.

Articles connexes

Explorez le pouvoir de transformation du web scraping dans le secteur financier. Des données sur les produits à l'analyse des sentiments, ce guide donne un aperçu des différents types de données web disponibles pour les décisions d'investissement.


Commencez avec WebScrapingAPI, la solution ultime de web scraping ! Collectez des données en temps réel, contournez les systèmes anti-bots et bénéficiez d'une assistance professionnelle.


Découvrez comment extraire et organiser efficacement des données pour le web scraping et l'analyse de données grâce à l'analyse de données, aux bibliothèques d'analyse HTML et aux métadonnées schema.org.
