Extracteur de produits Otto

Le catalogue d'un détaillant allemand,
un produit par ligne.

Otto est l'un des plus grands détaillants généralistes d'Allemagne, et ses pages produit s'assemblent dans le navigateur plutôt que d'être servies entières. Ce service les charge comme le ferait un navigateur et renvoie dix-sept colonnes par URL produit - le même schéma que nos autres scrapers de catalogue, un seul importateur les lit donc toutes.

500 lignes gratuites, une seule foispuis 0,002 $ par lignedix-sept colonnes par produitCSV · JSON · Excel
Comment ça marche

Une liste d'URL entre, un tableur sort.

  1. ÉTAPE 1Connectez-vous à la plateforme.
  2. ÉTAPE 2Ouvrez le Otto Products Scraper.
  3. ÉTAPE 3Collez les URL produit Otto voulues, une par ligne.
  4. ÉTAPE 4Choisissez votre format de sortie (CSV / JSON / XLSX).
  5. ÉTAPE 5Lancez la tâche.
  6. ÉTAPE 6Téléchargez les résultats - une ligne par URL, dix-sept colonnes.
Ce qu'il faut savoir

Ce qui encadre une exécution contre Otto.

Les listes s'assemblent dans le navigateur

Demandez https://www.otto.de avec un client ordinaire et vous obtenez une page fonctionnelle d'environ 320 Ko portant soixante-dix et quelques balises de script et aucun lien produit dans le balisage servi. Le catalogue arrive ensuite, depuis JavaScript. Tout ce qui repose sur une bibliothèque HTTP et un analyseur HTML lit une page valide et n'y trouve aucun produit - ce service charge la page comme le ferait un navigateur.

Un détaillant grand public, pas un distributeur professionnel

Otto vend au public, et cela mérite d'être dit car les autres catalogues sur ce schéma - BiggestBook, Vistaprint, Waxie - sont des sites professionnels dont les colonnes de prix reviennent vides pour des raisons propres à chacun. Une boutique grand public publie ses prix à tout le monde. Nous n'avons pas mesuré ceux d'Otto, nous ne les promettons donc pas non plus, mais les raisons que ces pages donnent pour des colonnes monétaires vides ne se transposent pas ici.

Dix-sept colonnes, dont certaines par paires

L'export contient price et parsed_price, sku et sku_code, image et images, url et product_url. Dans chaque paire, l'une sert à lire et l'autre à calculer, et savoir laquelle est laquelle avant d'écrire l'importateur évite une réécriture.

La même forme que le reste de la famille

Livescraper applique ce schéma à une série de sources de distribution et d'approvisionnement. Les dix-sept noms et leur ordre sont identiques : un seul importateur les lit toutes, et ajouter une deuxième source relève de la configuration, pas du projet.

Chaque ligne dit si ça a fonctionné

La dernière colonne est status, écrite par notre exportateur et non par le site. Une ligne qui n'a pas pu être récupérée arrive quand même, avec le motif. Vous rapprochez de la liste d'entrée au lieu de découvrir un trou silencieux trois semaines plus tard.

Nous disons ce que nous n'avons pas mesuré

Les deux exécutions derrière cette page ont toutes deux soumis une URL fictive qui a renvoyé un 404 : nous n'avons donc aucune donnée produit Otto. La liste de colonnes ci-dessous est réelle - c'est la ligne d'en-tête de ces exports. Les valeurs ne sont pas décrites, parce que nous n'en avons vu aucune.

Ce que vous récupérez

Dix-sept colonnes, par produit.

Lues dans la ligne d'en-tête d'un véritable export de ce service, dans l'ordre de la feuille. Les deux exécutions dont nous disposons n'ont renvoyé aucune donnée sous cet en-tête - voyez la note sous le tableau -, chaque entrée dit donc à quoi sert la colonne, et s'arrête là.

query
L'URL Otto que vous avez soumise, répétée sur chaque ligne pour qu'un export portant sur de nombreux produits reste séparable. Conservez-la : c'est le seul enregistrement de l'entrée à laquelle répond le reste de la ligne.
sku_code
Le code article tel que le catalogue l'imprime. Il forme une paire avec sku plus bas - vérifiez les deux avant de choisir une clé de jointure, car dans cette famille de schémas ils sont remplis indépendamment et ont été observés tantôt identiques, tantôt différents.
product_url
La page produit canonique. Distincte de url, qui indique l'adresse d'où la ligne a effectivement été produite ; les deux divergent dès qu'un lien soumis redirige.
name
Le titre du produit tel que l'énonce la page. Attendez-vous à de l'allemand, puisqu'il s'agit d'une boutique allemande - prévoyez la collation et l'encodage de cette colonne en conséquence.
description
Le texte de description. Attendez-vous à un champ de texte libre long plutôt qu'à un libellé court, et donnez-lui une colonne large ou un type texte dans votre base.
parsed_price
Le prix sous forme de nombre brut, sans symbole ni séparateur de milliers - celui à utiliser pour l'arithmétique, le tri et les seuils.
price
Le prix tel qu'affiché. Prenez-le lorsque vous devez montrer à un client exactement ce que disait la page ; prenez parsed_price lorsque vous devez calculer. Sur une boutique allemande, la forme affichée n'est pas celle que votre tableur interprète par défaut.
currency
La devise dans laquelle le prix est libellé. Lisez-la plutôt que de la supposer - c'est ainsi qu'un montant en euros finit additionné à un montant en dollars.
availability
L'état du stock tel qu'il est publié sur la page. Traitez-le comme l'affirmation du catalogue au moment de la collecte, et non comme un flux d'inventaire en temps réel.
rating
La note moyenne, lorsque la page en publie une. Tous les produits n'en portent pas : écrivez l'importateur pour qu'il accepte une cellule vide plutôt que d'échouer dessus.
reviews
Le nombre d'avis, avec la même réserve que rating. Là où les deux sont présents, ils vont ensemble ; une note sans effectif derrière ne suffit pas pour classer.
images
Toutes les images que porte la page, dans un seul champ. Découpez-le avant l'enregistrement si vous avez besoin d'une ligne par ressource - et vérifiez d'abord quel est réellement le séparateur, car dans cette famille de schémas c'est précisément ce qui a déjà posé problème.
brand
Le fabricant ou la marque. C'est le champ sur lequel regrouper pour un travail d'assortiment : quelles marques un détaillant référence, et avec quelle profondeur par gamme.
sku
La référence article. L'autre moitié de la paire d'identifiants avec sku_code.
url
L'adresse d'où la ligne a été produite. Comparez-la à query pour repérer les redirections, et à product_url pour repérer la canonisation.
image
L'image principale isolée, pour que le cas courant - une vignette par produit - n'exige aucun découpage de chaîne.
status
Un indicateur par ligne écrit par notre exportateur, pas par Otto. Il signale si la ligne a été récupérée. Les deux exécutions derrière cette page portent ici http 404, parce que l'URL soumise était une adresse fictive qui n'existe pas.

Dix-sept colonnes par ligne · CSV, JSON ou Excel

Derrière cette page se trouvent deux exécutions, du 14 et du 15 juillet 2026, dont les charges utiles sont identiques octet pour octet. Toutes deux ont soumis https://www.example.com/product/123 - une adresse fictive, pas une adresse Otto - et toutes deux ont renvoyé une seule ligne portant http 404, les quatorze colonnes de données vides. Nous pouvons donc vous donner le schéma avec certitude, et absolument rien sur les valeurs d'Otto, et cette page ne prétend pas le contraire. Les dix-sept noms apparaissent dans le même ordre dans nos exports BiggestBook, Vistaprint et Waxie, et les exécutions Waxie sont remplies - c'est ainsi que nous savons que le schéma est vivant et non une ébauche. Nous ne décrivons délibérément pas les colonnes d'Otto à l'aide des valeurs de ces pages : ce sont des sites professionnels dont les colonnes monétaires sont vides pour des raisons particulières à chacun, et Otto est un détaillant grand public. Emprunter leurs mesures serait une supposition déguisée en fait.

Usages courants

À quoi sert un catalogue de détail.

Suivi des prix

Surveiller une gamme, pas un article isolé

Soumettez les URL des produits qui vous intéressent selon un calendrier et conservez parsed_price, currency et la date d'exécution. La valeur n'est pas dans un chiffre isolé mais dans la série - un détaillant déplace généralement une gamme entière d'un coup, et un tableau le montre là où un onglet de navigateur ne le montre pas.

Tarification · Suivi
Analyse d'assortiment

Voir quelles marques un détaillant porte réellement

Regroupez un export par brand et comptez. La profondeur par marque vous dit où un détaillant s'est engagé et où il ne fait que tester - la même question qu'un acheteur se pose avant d'ajouter un fournisseur, répondue depuis le catalogue lui-même.

Achats catégorie · Assortiment
Enrichissement de catalogue

Remplir les champs qui manquent à vos fiches

Les bases produit sont en général solides sur les identifiants et pauvres en textes et en images. description, image et images comblent ce vide face à un identifiant que vous possédez déjà, sans rien re-photographier.

Ops e-commerce · Catalogue
Étude d'entrée sur un marché

Lire une boutique allemande depuis l'étranger

Le catalogue d'un détaillant national est l'image la moins chère disponible de ce qu'un marché propose et à quel niveau de prix. Conservez name, brand et parsed_price et vous avez la forme d'une catégorie sans commander d'étude.

Stratégie · Étude de marché
Tarifs

Ne payez que ce que vous utilisez réellement.

Offre gratuite

Les 500 premières lignes sont gratuites

Une seule fois, à l'inscription. Sans carte, et sans rien à résilier ensuite.

Une seule fois, à l'inscription
Tarif

puis 0,002 $ par ligne

Facturé sur les lignes réellement renvoyées. Une ligne qui revient avec un status autre qu'un succès n'est pas une ligne de données produit, et ne vous est pas facturée comme telle.

Facturé sur les lignes renvoyées
Sans abonnement

Rien de récurrent

Les crédits n'expirent pas au rythme mensuel. Lancez un balayage de catalogue en mars puis plus rien jusqu'en septembre si le travail a cette forme.

Aucune expiration mensuelle
10 % de remise sur votre première exécution payante.Utilisez le code LIVESCRAPER10 au paiement.
S'inscrire
S'associe bien avec

D'autres catalogues, les mêmes dix-sept colonnes.

Le volet juridique

Est-il légal de scraper Otto ?

Des faits produit sur une page accessible au public relèvent de l'information concurrentielle ordinaire. Les réserves à signaler ici portent sur la réutilisation et sur le fait qu'un site allemand est un site allemand.

Un prix, un nom de produit, une marque et un état de stock sont des faits sur des biens mis en vente. Les lire sur une page servie à tout visiteur, c'est la même activité qu'un acheteur mène à la main, à une vitesse utile. Rien dans les dix-sept colonnes ne décrit une personne : ni nom, ni adresse e-mail, ni téléphone, ni compte - les questions de protection des données qui façonnent nos services portant sur des personnes ne se posent donc pas ici. Il vaut la peine de le dire explicitement sur un site allemand, car le RGPD est la première chose que l'on demande, et il régit les données personnelles - ce qu'une ligne produit n'est pas.

Deux réserves méritent d'être nommées. D'abord la réutilisation : les descriptions et la photographie produit sont l'œuvre protégée de quelqu'un. Les exploiter en interne pour du suivi de prix, de l'analyse d'assortiment ou du rapprochement avec vos propres fiches est une pratique courante ; les republier comme votre propre catalogue est une autre question, avec une autre réponse. Ensuite, les préférences déclarées du site lui-même. Otto publie un robots.txt et, pour un robot général, il ne comporte qu'une poignée d'exclusions étroites plutôt qu'une exclusion globale : les pages produit ne figurent donc pas parmi les chemins qu'il demande aux robots d'éviter. Nous lisons ce fichier plutôt que de supposer, nous restons sur des pages accessibles au public et nous avançons à un rythme mesuré.

Nos propres conditions sont les mêmes que pour tous les autres services d'ici. Uniquement des pages accessibles au public, rien derrière une connexion, aucun traqueur tiers sur la couche de données, et les exports sont supprimés automatiquement au bout de 30 jours. Vos 500 premières lignes sont gratuites et n'exigent pas de carte.

livescraper.app · ce qui encadre une exécution
Une URL produit par ligne
La page est rendue, pas seulement téléchargée
Accès anonyme uniquement
Aucune valeur Otto mesurée - le schéma seulement
Les exports sont supprimés au bout de 30 jours
Nous pouvons vous donner la forme du tableau avec certitude. Ce qu'Otto y met, nous ne l'avons pas encore vu.
Questions fréquentes

Ce que l'on demande avant de s'inscrire.

Quelles colonnes l'export contient-il ?+
Dix-sept, dans cet ordre : query, sku_code, product_url, name, description, parsed_price, price, currency, availability, rating, reviews, images, brand, sku, url, image et status. Une ligne par URL produit soumise.
Y a-t-il des données d'exemple Otto sur cette page ?+
Non, et nous n'allons pas en inventer. Les deux exécutions derrière cette page ont soumis une URL fictive qui a renvoyé http 404 : toutes les colonnes de données sont revenues vides. Cela suffit à établir les dix-sept noms de colonnes, et rien de plus - c'est pourquoi cette page décrit à quoi sert chaque colonne et jamais à quoi ressemblent ses valeurs.
Les colonnes de prix seront-elles remplies ?+
Nous ne les avons pas mesurées, nous n'allons donc rien promettre. Ce que nous pouvons dire, c'est que les raisons invoquées par nos autres pages de catalogue pour des colonnes de prix vides ne s'appliquent pas ici : ce sont des sites professionnels qui chiffrent par compte ou par quantité, et Otto est un détaillant grand public qui publie ses prix à tout le monde. Cela le rend probable, pas certain, et nous préférons marquer la différence plutôt que revendiquer une mesure que nous n'avons pas.
Pourquoi Otto exige-t-il plus qu'une simple requête HTTP ?+
Parce que les listes s'assemblent dans le navigateur. Une requête vers https://www.otto.de avec un client ordinaire renvoie une page fonctionnelle d'environ 320 Ko portant une soixantaine-dizaine de balises de script et aucun lien produit dans le balisage servi. Le catalogue est demandé et rendu ensuite : un scraper reposant sur un simple analyseur HTML voit une page valide sans rien dedans.
Les données reviendront-elles en allemand ?+
Attendez-vous-y - name et description sont ce que la boutique imprime, et c'est une boutique allemande. Prévoyez l'encodage et la collation de ces colonnes en conséquence, et rappelez-vous que le price affiché utilisera le formatage numérique allemand alors même que parsed_price existe précisément pour être calculé.
Pourquoi y a-t-il deux colonnes de prix et deux colonnes d'identifiant ?+
Dans chaque paire, l'une sert à lire et l'autre à calculer. price est le prix tel qu'affiché et parsed_price le même chiffre sous forme de nombre brut ; sku et sku_code sont remplis indépendamment dans cette famille de schémas et ont été observés tantôt identiques, tantôt différents : vérifiez donc les deux avant de choisir une clé de jointure. La même duplication vaut pour image et images, et pour url et product_url.
Que signifie la colonne status ?+
Elle est écrite par notre exportateur, pas par Otto, et signale si la ligne a été récupérée. Une ligne en échec arrive quand même avec le motif : vous pouvez rapprocher l'export de votre liste d'entrée au lieu de découvrir un trou silencieux plus tard. Les deux exécutions derrière cette page y lisent http 404.
Combien ça coûte ?+
Vos 500 premières lignes sont gratuites, une seule fois, sans carte. Ensuite c'est 0,002 $ par ligne, facturé sur les lignes réellement renvoyées, sans abonnement et sans expiration mensuelle des crédits.
Dans quels formats puis-je exporter ?+
CSV, JSON ou Excel. Les dix-sept colonnes et leur ordre sont identiques dans les trois.

Lisez le catalogue comme un tableau.

Dix-sept colonnes par produit, depuis une boutique qui s'assemble elle-même dans le navigateur. Vos 500 premières lignes sont gratuites, puis 0,002 $ l'unité.

Actif immédiatement · sans carte bancaire

Extraire les données produit d'Otto

Otto est l'un des plus grands détaillants généralistes d'Allemagne et vend vêtements, meubles, électronique et articles ménagers au public via otto.de. Qu'il s'agisse d'une boutique grand public et non d'un distributeur professionnel compte plus qu'il n'y paraît, car les autres catalogues partageant ce schéma - BiggestBook, Vistaprint, Waxie - sont tous des sites professionnels, et chacun a sa propre raison de renvoyer des colonnes de prix vides. Un détaillant qui vend à tout le monde publie ses prix à tout le monde. Nous n'avons pas mesuré ceux d'Otto, cette page ne les promet donc pas, mais le raisonnement qui s'applique à ces pages ne se transpose pas à celle-ci et nous préférons le dire plutôt que laisser l'air de famille suggérer quelque chose que nous n'avons pas testé.

L'obstacle pratique tient à la construction du site. Une requête vers https://www.otto.de depuis un client HTTP ordinaire renvoie une réponse réussie d'environ 320 Ko portant autour de soixante-dix balises de script et aucun lien produit dans le balisage qu'elle sert - les listes s'assemblent côté client, une fois cette coquille arrivée. Tout ce qui repose sur une bibliothèque HTTP et un analyseur HTML lira donc une page valide sans rien y trouver, ce qui est la raison la plus fréquente pour laquelle un scraper fait maison semble fonctionner et renvoie des lignes vides. Ce service charge la page comme le ferait un navigateur : les produits sont là avant que quoi que ce soit ne soit lu.

L'export compte dix-sept colonnes par URL produit : query, sku_code, product_url, name, description, parsed_price, price, currency, availability, rating, reviews, images, brand, sku, url, image et status. Quatre d'entre elles fonctionnent par paires - prix affiché contre prix calculable, deux champs d'identifiant, image principale contre toutes les images, URL demandée contre URL canonique - et savoir quelle moitié utiliser avant d'écrire l'importateur fait la différence entre un chargement propre et une réécriture. Que la paire d'identifiants mérite d'être vérifiée n'est pas théorique : dans notre export Waxie, qui utilise ce même schéma, les deux colonnes portaient des numéros réellement différents, la référence du distributeur et celle du fabricant. Attendez-vous à du texte allemand dans name et description, et à un formatage numérique allemand dans le price affiché.

Nous sommes délibérément clairs sur les limites de ce que nous pouvons montrer. Les deux exécutions derrière cette page, du 14 et du 15 juillet 2026, ont toutes deux soumis une adresse fictive plutôt qu'une adresse Otto, et toutes deux sont revenues avec un 404 et chaque colonne de données vide. Cela établit le schéma - une ligne d'en-tête est une véritable ligne d'en-tête même sans données en dessous - et n'établit rien sur les valeurs d'Otto : vous ne trouverez donc nulle part sur cette page de prix, de références ou de notes d'exemple. Sur le plan juridique, une ligne produit ne contient aucune donnée personnelle, ce qui est la première question que soulève d'ordinaire un site allemand ; les descriptions et la photographie relèvent séparément du droit d'auteur et de la réutilisation. Otto publie un robots.txt et, pour un robot général, il ne liste qu'une poignée d'exclusions étroites plutôt qu'une exclusion globale : les pages produit ne figurent donc pas parmi les chemins qu'il demande d'éviter. Uniquement des pages accessibles au public, aucun traqueur tiers sur la couche de données, et les exports sont supprimés automatiquement au bout de 30 jours. Vos 500 premières lignes sont gratuites et n'exigent pas de carte.