Amazon est l’un des sites de e-commerce les plus scrappés. Ce guide vous montre comment extraire efficacement des données produits, des prix, des avis et des résultats de recherche en utilisant les puissantes fonctionnalités de Firecrawl.
npm install @mendable/firecrawl-js zod
Pour le scraping d’Amazon, vous voudrez généralement :
- Extraire les informations produit (titre, prix, disponibilité)
- Récupérer les avis et notes des clients
- Suivre les variations de prix
- Rechercher des produits par programmation
- Suivre les fiches des concurrents
Extrayez des données produit structurées à l’aide de schémas Zod.
import FirecrawlApp from '@mendable/firecrawl-js';
import { z } from 'zod';
// Définir le schéma Zod
const ProductSchema = z.object({
title: z.string(),
price: z.string(),
rating: z.number(),
availability: z.string(),
features: z.array(z.string())
});
const firecrawl = new FirecrawlApp({ apiKey: process.env.FIRECRAWL_API_KEY });
const result = await firecrawl.scrape('https://www.amazon.com/dp/B0DZZWMB2L', {
formats: [{
type: 'json',
schema: z.toJSONSchema(ProductSchema)
}],
});
// Parser et valider avec Zod
const jsonData = typeof result.json === 'string' ? JSON.parse(result.json) : result.json;
const validated = ProductSchema.parse(jsonData);
console.log('✅ Données produit validées :');
console.log(validated);
Recherchez des produits sur Amazon.
import FirecrawlApp from '@mendable/firecrawl-js';
const firecrawl = new FirecrawlApp({ apiKey: process.env.FIRECRAWL_API_KEY });
const searchResult = await firecrawl.search('ordinateur portable gaming site:amazon.com', {
limit: 10,
sources: [{ type: 'web' }], // { type: 'news' }, { type: 'images' }
scrapeOptions: {
formats: ['markdown']
}
});
console.log(searchResult);
Extraire une page produit Amazon unique.
import FirecrawlApp from '@mendable/firecrawl-js';
const firecrawl = new FirecrawlApp({ apiKey: process.env.FIRECRAWL_API_KEY });
const result = await firecrawl.scrape('https://www.amazon.com/ASUS-ROG-Strix-Gaming-Laptop/dp/B0DZZWMB2L', {
formats: ['markdown'], // par ex. html, links, etc.
onlyMainContent: true
});
console.log(result);
Découvrez toutes les URL disponibles sur les pages produit ou catégorie d’Amazon. Remarque : Map renvoie uniquement des URL, sans contenu.
import FirecrawlApp from '@mendable/firecrawl-js';
const firecrawl = new FirecrawlApp({ apiKey: process.env.FIRECRAWL_API_KEY });
const mapResult = await firecrawl.map('https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics');
console.log(mapResult.links);
// Retourne un tableau d'URL sans contenu
Explorez plusieurs pages d’une catégorie Amazon ou de résultats de recherche.
import FirecrawlApp from '@mendable/firecrawl-js';
const firecrawl = new FirecrawlApp({ apiKey: process.env.FIRECRAWL_API_KEY });
const crawlResult = await firecrawl.crawl('https://www.amazon.com/s?k=mechanical+keyboards', {
limit: 10,
scrapeOptions: {
formats: ['markdown']
}
});
console.log(crawlResult.data);
Extrayez simultanément plusieurs URL de produits Amazon.
import FirecrawlApp from '@mendable/firecrawl-js';
const firecrawl = new FirecrawlApp({ apiKey: process.env.FIRECRAWL_API_KEY });
// Attendre la complétion
const job = await firecrawl.batchScrape([
'https://www.amazon.com/ASUS-ROG-Strix-Gaming-Laptop/dp/B0DZZWMB2L',
'https://www.amazon.com/Razer-Blade-Gaming-Laptop-Lightweight/dp/B0FP47DNFQ',
'https://www.amazon.com/HP-2025-Omen-Gaming-Laptop/dp/B0FL4RMGSH'],
{
options: {
formats: ['markdown']
},
pollInterval: 2,
timeout: 120
}
);
console.log(job.status, job.completed, job.total);
console.log(job);