73 lines
2.2 KiB
YAML
Executable File
73 lines
2.2 KiB
YAML
Executable File
# Sélecteurs CSS/XPath pour Backmarket.fr
|
|
# Mis à jour le 2026-01-13 après analyse du HTML réel
|
|
|
|
# ⚠️ IMPORTANT: Backmarket utilise une protection anti-bot
|
|
# - HTTP simple ne fonctionne PAS (retourne 403 Forbidden)
|
|
# - Playwright est OBLIGATOIRE pour récupérer le contenu
|
|
# - Les classes CSS sont relativement stables (heading-1, etc.)
|
|
|
|
# Titre du produit
|
|
# Classes simples et stables
|
|
title:
|
|
- "h1.heading-1"
|
|
- "h1" # Fallback
|
|
|
|
# Prix principal
|
|
# ✓ JSON-LD schema.org disponible (prioritaire)
|
|
# Les prix sont dans <script type="application/ld+json">
|
|
price:
|
|
- "div[data-test='price']" # Fallback si JSON-LD n'est pas disponible
|
|
- "span[class*='price']"
|
|
|
|
# Devise
|
|
# Toujours EUR pour Backmarket France
|
|
currency:
|
|
- "meta[property='og:price:currency']"
|
|
# Fallback: statique EUR
|
|
|
|
# État / Condition (spécifique aux produits reconditionnés)
|
|
# Backmarket vend du reconditionné, donc il y a des grades (Correct, Bon, Excellent, etc.)
|
|
condition:
|
|
- "button[data-test='condition-button']"
|
|
- "div[class*='condition']"
|
|
- "span[class*='grade']"
|
|
|
|
# Images produit
|
|
images:
|
|
- "img[alt]" # Toutes les images avec alt
|
|
# Filtrer celles qui contiennent le nom du produit
|
|
|
|
# Catégorie / breadcrumb
|
|
category:
|
|
- "nav[aria-label='breadcrumb'] a"
|
|
- ".breadcrumb a"
|
|
|
|
# Caractéristiques techniques
|
|
# Peuvent être dans des sections dépliables
|
|
specs_table:
|
|
- "div[class*='specification']"
|
|
- "div[class*='technical']"
|
|
- "dl"
|
|
|
|
# SKU / référence produit
|
|
# Extraction depuis l'URL plus fiable
|
|
# URL pattern: /fr-fr/p/{slug}
|
|
# SKU = slug
|
|
sku:
|
|
- "meta[property='product:retailer_item_id']"
|
|
- "span[data-test='sku']"
|
|
|
|
# Stock / Disponibilité
|
|
stock_status:
|
|
- "button[data-test='add-to-cart']" # Si présent = en stock
|
|
- "div[class*='availability']"
|
|
|
|
# Notes importantes:
|
|
# 1. ⚠️ Playwright OBLIGATOIRE - HTTP retourne 403 Forbidden
|
|
# 2. JSON-LD schema.org disponible → prioritaire pour prix/titre
|
|
# 3. Classes CSS relativement stables (heading-1, etc.)
|
|
# 4. SKU: extraire depuis URL /fr-fr/p/{slug}
|
|
# 5. Condition (grade) important pour Backmarket (Correct/Bon/Excellent)
|
|
# 6. Prix varie selon la condition choisie
|
|
# 7. Devise: toujours EUR pour France (static fallback OK)
|