Vous souhaitez récupérer les données de Zalando ? Vous êtes au bon endroit. Zalando est l'un des meilleurs sites de vente en ligne de mode avec une vaste gamme d'articles, des vêtements aux accessoires. Peut-être que vous faites une étude de marché ou que vous créez une application de mode - dans tous les cas, savoir comment obtenir de bonnes données directement à partir du site peut être utile.

Dans ce blog, nous vous montrerons comment créer un scraper Zalando fiable avec Marionnettiste - un outil de scraping Web bien connu. Vous apprendrez à extraire les détails des produits tels que les prix, les tailles et les niveaux de stock. Nous vous donnerons également des conseils sur la gestion du CAPTCHA, le blocage des IP et la mise à l'échelle de votre scraper avec Crawlbase Proxy IA intelligent.

Commençons!

Table des Matières

  1. Pourquoi récupérer les données produit de Zalando ?
  2. Données clés à extraire de Zalando
  3. Configuration de votre environnement Node.js
  • Installation de Node.js
  • Installation des bibliothèques requises
  • Choisir un EDI
  1. Suppression des listes de produits Zalando
  • Inspection du code HTML pour les sélecteurs
  • Rédaction du scraper de listes de produits Zalando
  • Gestion de la pagination
  • Stockage des données dans un fichier JSON
  1. Détails du produit Zalando à gratter
  • Inspection du code HTML pour les sélecteurs
  • Rédaction du scraper de détails de produit Zalando
  • Stockage des données dans un fichier JSON
  1. Optimiser avec Crawlbase Proxy IA intelligent
  • Qu’est ce que Crawlbase Proxy IA intelligent ?
  • Comment utiliser Crawlbase Proxy IA intelligent avec Puppeteer
  • Avantages de l'utilisation Crawlbase Proxy IA intelligent
  1. Réflexions finales
  2. Foire aux questions (FAQ)

Pourquoi récupérer les données produit de Zalando ?

Le scraping de Zalando est un excellent moyen d'obtenir des données sur les produits à diverses fins. Que vous surveilliez les prix, suiviez la disponibilité des produits ou analysiez les tendances de la mode, l'accès à ces données vous donne un avantage. Zalando est l'une des plus grandes plateformes de mode en ligne d'Europe avec une large gamme de produits allant des chaussures et vêtements aux accessoires.

En récupérant les données de Zalando, vous pouvez extraire les noms des produits, les prix, les avis et la disponibilité. Ces données peuvent être utilisées pour comparer les prix, créer des stratégies marketing basées sur les données ou même créer un outil de suivi des prix automatisé. Si vous dirigez une entreprise de commerce électronique ou si vous souhaitez simplement garder un œil sur les dernières tendances de la mode, récupérer les données produit de Zalando vous aidera à garder une longueur d'avance.

L'utilisation d'un scraper pour récupérer des données de Zalando vous permet d'économiser du temps et des efforts liés à la recherche et à la copie manuelles des informations sur les produits. Avec la bonne configuration, vous pouvez obtenir des milliers de détails sur les produits en un rien de temps et de manière efficace, ce qui simplifie votre processus de collecte de données.

Données clés à extraire de Zalando

En récupérant les données de Zalando, vous pouvez extraire plusieurs informations importantes sur les produits. Ces détails sont utiles pour suivre les tendances, comprendre les prix ou analyser les comportements du marché. Vous trouverez ci-dessous les principaux points de données sur lesquels vous concentrer :

Les données clés indiquent qu'il faut supprimer Zalando
  • Nom du produit:Le nom du produit vous aide à identifier et à catégoriser ce qui est vendu.
  • Prix ​​du produit:Connaître le prix, y compris les remises, est essentiel pour surveiller les tendances des prix et comparer les concurrents.
  • Description du produit*:Cela donne des informations spécifiques sur le produit, telles que le matériau, le style et d’autres caractéristiques clés.
  • Comparatifs:Les avis fournissent des informations sur la qualité et la popularité des produits et sont utiles pour l'analyse des sentiments.
  • La disponibilité des produits:Vérifier si un produit est en stock vous aide à comprendre la demande et la rapidité avec laquelle les articles se vendent.
  • Images du produit:Les images donnent une vue claire du produit, ce qui est important pour comprendre les tendances et les styles de la mode.
  • Marque:Connaître la marque permet une meilleure analyse des performances de la marque et une comparaison entre différentes marques.

Configuration de votre environnement Node.js

Afin de scraper efficacement Zalando, vous devrez configurer votre environnement Node.js. Ce processus implique l'installation de Node.js, des bibliothèques nécessaires et le choix d'un environnement de développement intégré (IDE) approprié. Voici comment procéder étape par étape :

Installation de Node.js

  1. Télécharger Node.js: Aller à l'officiel Site Web Node.js pour obtenir sa dernière version pour votre système d'exploitation. Node.js est fourni avec npm (Node Package Manager), que vous utiliserez pour installer d'autres bibliothèques.
  2. Installez Node.js:Suivez les instructions d'installation de votre système d'exploitation. Vous pouvez vérifier s'il est installé en ouvrant votre terminal ou votre invite de commande et en saisissant :
1
noeud -v

Cette commande doit afficher la version installée de Node.js.

Installation des bibliothèques requises

  1. Créer un nouveau dossier de projet: Créez un dossier pour votre projet de scraping. Ouvrez le terminal à l'intérieur de ce dossier.
  2. Initialiser npm:Dans votre dossier de projet, exécutez :
1
npm init -y

Cette commande crée un package.json fichier qui garde la trace des dépendances de votre projet.

  1. Installer les bibliothèques requises:Vous aurez besoin de quelques bibliothèques pour faciliter le scraping. Installez Puppeteer et toutes les autres bibliothèques dont vous pourriez avoir besoin :
1
npm installer marionnettiste axios
  1. Créer le fichier principal: Dans votre dossier de projet, créez un fichier nommé scraper.jsCe fichier contiendra votre code de scraping.

Choisir un EDI

Le choix d'un IDE peut faciliter le codage. Parmi les plus populaires, on trouve :

  • Visual Studio Code:Éditeur populaire avec de nombreuses extensions pour travailler avec JavaScript.
  • Tempête Web:Un IDE puissant spécialement conçu pour JavaScript et le développement Web, mais il n'est pas gratuit.
  • Atom:Un éditeur de texte piratable, personnalisable et convivial.

Maintenant que votre environnement est configuré et scraper.js créé. Commençons par récupérer les listes de produits Zalando.

Suppression des listes de produits Zalando

Après avoir configuré l'environnement, nous pouvons commencer à créer le scraper pour les listes de produits Zalando. Nous allons scraper la section des sacs à main à partir de cette URL :

https://en.zalando.de/catalogue/?q=handbags

Nous extrairons l'URL de la page produit, le titre, le nom du magasin, le prix et l'URL de l'image de chaque annonce. Nous nous occuperons également de la pagination pour parcourir plusieurs pages.

Inspection du code HTML pour les sélecteurs

Nous devons d'abord inspecter le code HTML de la page de liste des produits pour trouver les bons sélecteurs. Ouvrez les outils de développement dans votre navigateur et accédez aux listes de sacs à main.

Capture d'écran des listes de produits HTML de Zalando

Vous rechercherez généralement des éléments tels que :

  • URL de la page produit: Ceci est le lien vers la page du produit individuel.
  • Titre du produit:Habituellement dans un <h3> balise dans un <div> .
  • Marque:Cela peut être trouvé dans un <h3> balise dans un <div> .
  • Prix:Trouvé dans un <span> étiquette avec une classe de prix.
  • URL de l'image:Contenu dans le <img> tag dans chaque fiche produit.

Rédaction du scraper de listes de produits Zalando

Maintenant que vous disposez des sélecteurs, vous pouvez écrire un scraper pour collecter les listes de produits. Voici un exemple d'extrait de code utilisant Puppeteer :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
const marionnettiste = exigent('marionnettiste');

// Fonction permettant de récupérer les listes de produits de Zalando
async fonction gratter les listes de produits(page) {
attendre .goto('https://en.zalando.de/catalogue/?q=handbags', { temps mort: 0 });

// Récupération des listes de produits
const produits = attendre .évaluer(() => {
retourner tableau.à partir de(document.querySelectorAll('div.AnNemq article.z5x6ht.mo6ZnF')).plan((carte) => {
const titre = carte.sélecteur de requête('div.Zhr-fS h3:dernier-enfant') ?.Texte intérieur; // Titre du produit
const storeName = carte.sélecteur de requête('div.Zhr-fS h3:premier-enfant') ?.Texte intérieur; // Nom du magasin
const prix = carte.sélecteur de requête('span.sDq_FX.lystZ1') ?.Texte intérieur; // Prix
const productUrl = carte.sélecteur de requête('une') ?.href; // URL du produit
const vignette = carte.sélecteur de requête('img:premier-enfant') ?.src; // URL de l'image

retourner { titre, nom du magasin, prix, URL du produit, miniature };
});
});

retourner des produits;
}

(async () => {
const navigateur = attendre marionnettiste.lancer();
const page = attendre navigateur.nouvelle page();

const Listes de produits = attendre gratter les listes de produits(page);
console.enregistrer(« Listes de produits : », listes de produits);

attendre navigateur.close();
}) ();

Explication du code:

  • scrapeProductListings Fonction:Cette fonction navigue vers la page produit Zalando, avec une limite de délai d'expiration illimitée, et extrait le titre du produit, le prix, l'URL et l'URL de l'image.
  • Collecte des Données:La fonction renvoie un tableau d'objets produits contenant les informations extraites.

Exemple de sortie :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Produit Annonces: [
{
titre: 'Sac à main - noir',
nom de marque: « Anna Field »,
prix: '34,99 €',
URL du produit: 'https://en.zalando.de/anna-field-handbag-black-an651h0x2-q11.html',
thumbnail: 'https://img01.ztat.net/article/spp-media-p1/4ce13463cf9a4dda9828bfc44f65bb6e/45133485dd0c4b03b1b122f0deeb0801.jpg?imwidth=300&filter=packshot'
},
{
titre: 'CUIR - Sac à main - noir',
nom de marque: « Zign »,
prix: '49,99 €',
URL du produit: 'https://fr.zalando.de/zign-handbag-black-zi151h08a-q11.html',
thumbnail: 'https://img01.ztat.net/article/spp-media-p1/a86e1fd894b33f8388ed33009cb6cfd2/62c903c4162141fa8c1452be53635f02.jpg?imwidth=300&filter=packshot'
},
{
titre: 'SAC À BANDOULIÈRE NOELLE TOP ZIP - Sac à main - logo charbon',
nom de marque: 'Deviner',
prix: '124,95 €',
URL du produit: 'https://en.zalando.de/guess-noelle-top-zip-shoulder-bag-handbag-coal-logo-gu151h4zp-c11.html',
thumbnail: 'https://img01.ztat.net/article/spp-media-p1/b6c00ad1942e4b439808bf3099e035ab/38798e461de54ddfad6a33d6f1ab5e42.jpg?imwidth=300&filter=packshot'
},
.... plus
]

Gestion de la pagination

Pour rassembler plus d'annonces, vous devez gérer la pagination. Zalando utilise le &p= paramètre dans l'URL pour naviguer entre les pages. Voici comment modifier votre scraper pour gérer plusieurs pages :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Fonction pour gérer la pagination
async fonction gratterAllProductListings(page, nombre total de pages) {
laisser tous les produits = [];

pour (laisser i = 1; i <= totalPages; i++) {
const URL = `https://fr.zalando.de/catalogue/?q=handbags&p=${je}`;
attendre .goto(url, { temps mort: 0 });
attendre .attendre le sélecteur('main#main-content'); // Attendez que les fiches produits soient chargées

const produits = attendre gratter les listes de produits(page);
tous les produits = tous les produits.concat(produits); // Combiner les produits de toutes les pages
}

retourner tous les produits;
}

(async () => {
const navigateur = attendre marionnettiste.lancer();
const page = attendre navigateur.nouvelle page();

const nombre total de pages = 5; // Spécifiez le nombre total de pages que vous souhaitez récupérer
const toutes les listes de produits = attendre gratterAllProductListings(page, nombre total de pages);
console.enregistrer(« Toutes les listes de produits : », toutes les listes de produits);

attendre navigateur.close();
}) ();

Explication du code:

  • scrapeAllProductListings Fonction: Cette fonction parcourt le nombre de pages spécifié, construit l'URL pour chaque page et appelle la scrapeProductListings fonction permettant de collecter des données de chaque page.
  • Gestion des paginations:Les produits de toutes les pages sont combinés dans un seul tableau.

Stockage des données dans un fichier JSON

Enfin, il est utile de stocker les données extraites dans un fichier JSON pour une analyse ultérieure. Voici comment procéder :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
const marionnettiste = exigent('marionnettiste');
const fs = exigent(« fs »);

// Fonction permettant de récupérer les listes de produits de Zalando
async fonction gratter les listes de produits(page) {
// Récupération des listes de produits
const produits = attendre .évaluer(() => {
retourner tableau.à partir de(document.querySelectorAll('div.AnNemq article.z5x6ht.mo6ZnF')).plan((carte) => {
const titre = carte.sélecteur de requête('div.Zhr-fS h3:dernier-enfant') ?.Texte intérieur; // Titre du produit
const storeName = carte.sélecteur de requête('div.Zhr-fS h3:premier-enfant') ?.Texte intérieur; // Nom du magasin
const prix = carte.sélecteur de requête('span.sDq_FX.lystZ1') ?.Texte intérieur; // Prix
const productUrl = carte.sélecteur de requête('une') ?.href; // URL du produit
const vignette = carte.sélecteur de requête('img:premier-enfant') ?.src; // URL de l'image

retourner { titre, nom du magasin, prix, URL du produit, miniature };
});
});

retourner des produits;
}

// Fonction pour gérer la pagination
async fonction gratterAllProductListings(page, nombre total de pages) {
laisser tous les produits = [];

pour (laisser i = 1; i <= totalPages; i++) {
const URL = `https://fr.zalando.de/catalogue/?q=handbags&p=${je}`;
attendre .goto(url, { temps mort: 0 });
attendre .attendre le sélecteur('main#main-content'); // Attendez que les fiches produits soient chargées

const produits = attendre gratter les listes de produits(page);
tous les produits = tous les produits.concat(produits); // Combiner les produits de toutes les pages
}

retourner tous les produits;
}

// Fonction permettant de sauvegarder les données récupérées dans un fichier JSON
fonction enregistrer les données dans Json(données, nom de fichier = 'zalando_product_listings.json') {
fs.écrireFileSync(nom de fichier, JSON.stringifier(données, nul, 2));
console.enregistrer(`Les données ont été enregistrées avec succès dans ${nom de fichier}`);
}

(async () => {
const navigateur = attendre marionnettiste.lancer();
const page = attendre navigateur.nouvelle page();

const nombre total de pages = 5; // Spécifiez le nombre total de pages que vous souhaitez récupérer
const toutes les listes de produits = attendre gratterAllProductListings(page, nombre total de pages);

// Enregistrer les listes de produits récupérées dans un fichier JSON
enregistrer les données dans Json(toutes les listes de produits);

attendre navigateur.close();
}) ();

Explication du code:

  • saveDataToJson Fonction: Cette fonction enregistre les listes de produits récupérées dans un fichier json (zalando_product_listings.json) afin que vous puissiez accéder facilement aux données

Ensuite, nous verrons comment extraire les données des produits à partir de pages de produits individuelles.

Détails du produit Zalando à gratter

Maintenant que vous avez extrait les listes, l'étape suivante consiste à collecter des données à partir des pages de produits individuelles. Cela vous permet d'obtenir des données plus spécifiques telles que les descriptions de produits, les détails des matériaux et les avis des clients, qui ne sont pas disponibles sur les pages de listes.

Pour extraire les détails du produit, nous allons d’abord inspecter la structure de la page du produit et identifier les éléments HTML pertinents qui contiennent les données dont nous avons besoin.

Inspection du code HTML pour les sélecteurs

Visitez n'importe quelle page de produit individuelle de Zalando et utilisez les outils de développement de votre navigateur pour inspecter la structure HTML.

Capture d'écran de la page produit HTML de Zalando

Vous aurez généralement besoin de trouver des éléments tels que :

  • Titre du produit: Généralement dans un délai d'un <span> tag avec des classes comme EKabf7 R_QwOV.
  • Marque: Généralement dans un délai d'un <span> tag avec des classes comme z2N-Fg yOtBvf.
  • Détails du produit:Situé dans un <div> dans les data-testid="pdp-accordion-details".
  • Prix: Dans un <span> tag avec des classes comme dgII7d Km7l2y.
  • Tailles disponibles:Souvent répertorié dans un <div> dans les data-testid="pdp-accordion-size_fit".
  • URL des images:Contenu dans le <img> balise dans un <ul> avec des classes comme XLgdq7 _0xLoFW.

Rédaction du scraper de détails de produit Zalando

Une fois que vous disposez des bons sélecteurs, vous pouvez écrire un scraper pour collecter les détails du produit tels que le titre, la description, le prix, les tailles disponibles et les URL des images.

Voici un exemple de code pour extraire les détails du produit Zalando à l'aide de Puppeteer :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
const marionnettiste = exigent('marionnettiste');

// Fonction permettant d'extraire les détails du produit à partir d'une seule URL de produit
async fonction gratterDétails du produit(page, URL du produit) {
attendre .goto(URL du produit, { temps mort: 0 });

// Cliquez sur la section « Détails »
const détailsButtonSelector = Bouton 'div[data-testid="pdp-accordion-details"]';
const sizesButtonSelector = Bouton 'div[data-testid="pdp-accordion-size_fit"]';

// Attendez le bouton Détails et cliquez dessus
attendre .attendre le sélecteur(détailsButtonSelector);
attendre .incroyablement réaliste effect. (détailsButtonSelector);

// Attendez le bouton des tailles et cliquez dessus
attendre .attendre le sélecteur(taillesButtonSelector);
attendre .incroyablement réaliste effect. (taillesButtonSelector);

// Récupération des détails du produit
const Détails du produit = attendre .évaluer(() => {
const titre = document.sélecteur de requête('span.EKabf7.R_QwOV') ?.Texte intérieur; // Titre du produit
const nom de marque = document.sélecteur de requête('span.OBkCPz.Z82GLX') ?.Texte intérieur; // Nom de marque
const détails = Exlcusion.deEntrées(
tableau.à partir de(document.querySelectorAll('div[data-testid="pdp-accordion-details"] div.qMOFyE')).plan((Articles) => [
article.sélecteur de requête('dt') ?.Texte intérieur.réduire()
article.sélecteur de requête('dd') ?.Texte intérieur.réduire()
]),
); // Détails du produit
const prix = document.sélecteur de requête('span.voFjEy.Km7l2y') ?.Texte intérieur; // Prix
const tailles = Exlcusion.deEntrées(
tableau.à partir de(document.querySelectorAll('div[data-testid="pdp-accordion-size_fit"] div.qMOFyE')).plan((Articles) => [
article.sélecteur de requête('dt') ?.Texte intérieur.réduire()
article.sélecteur de requête('dd') ?.Texte intérieur.réduire()
]),
); // Tailles disponibles
const URL de l'image = tableau.à partir de(document.querySelectorAll('ul.COuNvj._0xLoFW li img')).plan((img) => img.src); // URL des images du produit

retourner { titre, nom de marque, détails, prix, tailles, URL des images };
});

retourner { url: URL du produit, ... Détails du produit };
}

(async () => {
const navigateur = attendre marionnettiste.lancer();
const page = attendre navigateur.nouvelle page();

const URLduproduit = [
'https://en.zalando.de/anna-field-handbag-black-an651h0x2-q11.html',
'https://fr.zalando.de/zign-handbag-black-zi151h08a-q11.html',
// Ajoutez ici d'autres URL de produits
];

const tous les détails du produit = [];

pour (const url of URL du produit) {
const détails = attendre gratterDétails du produit(page, url);
tous les détails du produit.pousser(détails);
}

console.enregistrer(« Détails du produit récupérés avec succès : », tous les détails du produit);
attendre navigateur.close();
}) ();

Explication du code :

  • scrapeProductDetails Fonction: Cette fonction navigue vers l'URL du produit, attend que le contenu soit chargé et récupère le titre du produit, la description, le prix, les tailles disponibles et les URL des images. Pour accéder au contenu pertinent, la fonction attend d'abord que les boutons « Détails » et « Tailles » deviennent visibles à l'aide de await page.waitForSelector(), puis clique dessus avec await page.click(). Cela développe les sections respectives, permettant l'extraction de leur contenu.
  • Tableau d'URL de produit: Ce tableau contient les URL des pages produits que vous souhaitez récupérer.

Exemple de sortie:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Produit détails grattés réussir: [
{
url: 'https://en.zalando.de/anna-field-handbag-black-an651h0x2-q11.html',
titre: 'Sac à main - noir',
nom de marque: « Anna Field »,
détails: { « Fixation : »: 'Fermeture éclair', 'Modèle:': 'Plaine', 'Détails:': 'Boucle' },
prix: '108,95 €',
tailles: {
'Hauteur:': '28 cm (Taille unique)',
'Longueur:': '36 cm (Taille unique)',
'Largeur:': '12 cm (Taille unique)'
},
URL des images: [
'https://img01.ztat.net/article/spp-media-p1/3359d0e0d8484d9ba930544c6c71a861/7859902ec50b4d88899541e3c1cf976b.jpg?imwidth=762',
'https://img01.ztat.net/article/spp-media-p1/4ce13463cf9a4dda9828bfc44f65bb6e/45133485dd0c4b03b1b122f0deeb0801.jpg?imwidth=762&filter=packshot',
'https://img01.ztat.net/article/spp-media-p1/4ce13463cf9a4dda9828bfc44f65bb6e/45133485dd0c4b03b1b122f0deeb0801.jpg?imwidth=156&filter=packshot',
.... plus
]
},
{
url: 'https://fr.zalando.de/zign-handbag-black-zi151h08a-q11.html',
titre: 'CUIR - Sac à main - noir',
nom de marque: « Zign »,
détails: { « Fixation : »: 'Fermeture éclair', 'Modèle:': 'Plaine' },
prix: '51,99 €',
tailles: {
'Hauteur:': '25 cm (Taille unique)',
'Longueur:': '36 cm (Taille unique)',
'Largeur:': '11 cm (Taille unique)'
},
URL des images: [
'https://img01.ztat.net/article/spp-media-p1/a86e1fd894b33f8388ed33009cb6cfd2/62c903c4162141fa8c1452be53635f02.jpg?imwidth=762&filter=packshot',
'https://img01.ztat.net/article/spp-media-p1/cb7586f888fe39bc8e160d909a2403e3/194701c057bb4c6595849a0ffe13da24.jpg?imwidth=762',
'https://img01.ztat.net/article/spp-media-p1/a86e1fd894b33f8388ed33009cb6cfd2/62c903c4162141fa8c1452be53635f02.jpg?imwidth=156&filter=packshot',
.... plus
]
}
]

Stockage des données dans un fichier JSON

Après avoir extrait les détails du produit, il est judicieux d'enregistrer les données dans un fichier JSON. Cela facilite l'accès et l'analyse ultérieure. Voici comment enregistrer les détails du produit extraits dans un fichier JSON.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
const fs = exigent(« fs »);

// Copier la fonction scrapeProductDetails de l'extrait de code précédent

// Fonction permettant de sauvegarder les données récupérées dans un fichier JSON
fonction enregistrer les données dans Json(données, nom de fichier = 'zalando_product_details.json') {
fs.écrireFileSync(nom de fichier, JSON.stringifier(données, nul, 2));
console.enregistrer(`Les données ont été enregistrées avec succès dans ${nom de fichier}`);
}

(async () => {
const navigateur = attendre marionnettiste.lancer();
const page = attendre navigateur.nouvelle page();

const URLduproduit = [
'https://en.zalando.de/anna-field-handbag-black-an651h0x2-q11.html',
'https://fr.zalando.de/zign-handbag-black-zi151h08a-q11.html',
// Ajoutez ici d'autres URL de produits
];

const tous les détails du produit = [];

pour (const url of URL du produit) {
const détails = attendre gratterDétails du produit(page, url);
tous les détails du produit.pousser(détails);
}

// Enregistrer les détails du produit récupérés dans un fichier JSON
enregistrer les données dans Json(tous les détails du produit);

attendre navigateur.close();
}) ();

Explication du code:

  • saveDataToJson Fonction: Cette fonction écrit les détails du produit récupérés dans un fichier JSON (zalando_product_details.json), formaté pour une lecture facile.
  • Stockage de données:Après avoir récupéré les détails, les données sont transmises à la fonction pour être enregistrées dans un format structuré.

Dans la section suivante, nous verrons comment vous pouvez optimiser votre scraper en utilisant Crawlbase Proxy IA intelligent pour éviter d'être bloqué lors du scraping.

Optimiser avec Crawlbase Proxy IA intelligent

Lorsque vous scrapez Zalando, vous risquez d'être bloqué ou limité. Pour éviter cela, utilisez un service proxy. Crawlbase Proxy IA intelligent vous aide à gratter en toute sécurité et rapidement. Voici comment l'intégrer à votre grattoir Zalando.

Comment utiliser Crawlbase Proxy IA intelligent avec Puppeteer

Intégration Crawlbase L'intégration d'un proxy d'IA intelligent dans votre script Puppeteer est simple. Vous aurez besoin de votre Crawlbase Clé API pour commencer.

Voici comment le configurer:

  1. Inscrivez vous pour Crawlbase: Aller sur le site web de Crawlbase site Web et créer un compteAprès votre inscription, vous recevrez un jeton API.
  2. Mettez à jour votre script de marionnettiste: Modifiez votre grattoir existant pour utiliser le Crawlbase Procuration.

Voici une version mise à jour de votre grattoir de produit Zalando avec Crawlbase Proxy IA intelligent :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
const marionnettiste = exigent('marionnettiste');

const URLproxy = 'http://_USER_TOKEN_:@smartproxy.crawlbase.com:8012'; // Remplacer _USER_TOKEN_ avec votre jeton

// Fonction permettant d'extraire les détails du produit à partir d'une seule URL de produit
async fonction gratterDétails du produit(page, URL du produit) {
// ... (inchangé, copie des extraits de code précédents)
}

(async () => {
const navigateur = attendre marionnettiste.lancer({
args: [`--proxy-server=${proxyUrl}`], // Utiliser Crawlbase procuration
});
const page = attendre navigateur.nouvelle page();

const URLduproduit = [
'https://en.zalando.de/anna-field-handbag-black-an651h0x2-q11.html',
'https://fr.zalando.de/zign-handbag-black-zi151h08a-q11.html',
// Ajoutez ici d'autres URL de produits
];

const tous les détails du produit = [];

pour (const url of URL du produit) {
const détails = attendre gratterDétails du produit(page, url);
tous les détails du produit.pousser(détails);
}

// Enregistrer les détails du produit récupérés dans un fichier JSON
enregistrer les données dans Json(tous les détails du produit);

attendre navigateur.close();
}) ();

Explication du code:

  • Configuration du proxy: Remplacer _USER_TOKEN_ avec votre réel Crawlbase jeton. Cela indique au Marionnettiste d'utiliser le Crawlbase proxy pour toutes les demandes.
  • Options de lancement du navigateur: Les args paramètre dans la puppeteer.launch() spécifie le serveur proxy à utiliser. Ainsi, toutes vos requêtes transitent par le serveur proxy. Crawlbase Procuration.

Optimisez votre Zalando Scraper avec Crawlbase

Le scraping de Zalando peut fournir des informations utiles pour vos projets. Dans ce blog, nous vous avons montré comment configurer votre environnement Node.js et récupérer les listes et les détails des produits. Vérifiez toujours les règles de scraping de Zalando pour rester dans leurs limites.

Utiliser Puppeteer avec Crawlbase Smart AI Proxy accélère et renforce votre scraping. Le stockage de vos données au format JSON simplifie leur gestion et leur analyse. N'oubliez pas que la mise en page des sites web peut changer ; veillez donc à maintenir vos scrapers à jour.

Si vous souhaitez découvrir le scraping à partir d'autres plateformes de commerce électronique, n'hésitez pas à explorer les guides complets suivants.

(I.e. Comment récupérer des données sur Amazon
(I.e. Comment gratter Walmart
(I.e. Comment récupérer des fonds sur AliExpress
(I.e. Comment récupérer des données Etsy

Si vous avez des questions ou des commentaires, notre équipe de soutien est toujours disponible pour vous aider dans votre parcours de scraping Web. Bonne chance dans votre parcours de scraping !

Foire aux questions (FAQ)

Le scraping de données de Zalando peut avoir des implications juridiques. Assurez-vous de consulter les conditions d'utilisation du site Web pour voir ce qu'elles disent sur le scraping de données. Certains sites Web interdisent explicitement le scraping, tandis que d'autres l'autorisent sous certaines conditions. En respectant les règles du site Web, vous pouvez éviter les problèmes juridiques et être éthique.

Q. De quels outils ai-je besoin pour scraper Zalando ?

Pour scraper Zalando, vous avez besoin d'outils spécifiques car le site utilise le rendu JavaScript. Tout d'abord, installez Node.js, qui vous permet d'exécuter du code JavaScript en dehors d'un navigateur. Ensuite, utilisez Puppeteer, une bibliothèque puissante qui contrôle un navigateur Chrome headless afin que vous puissiez interagir avec le contenu rendu par JavaScript. Pensez également à utiliser Crawlbase Crawling API, qui peuvent aider à la rotation des adresses IP et au contournement des blocages. Ensemble, ces outils vous aideront à extraire des données des pages dynamiques de Zalando.

Q. Pourquoi utiliser Crawlbase Proxy IA intelligent lors du scraping de Zalando ?

En utilisant Crawlbase Le proxy intelligent IA pour le scraping Zalando est efficace pour plusieurs raisons. Il vous évite d'être bloqué par le site web et effectue la rotation des adresses IP pour imiter le comportement habituel des utilisateurs. Votre scraping sera ainsi plus efficace et vous pourrez collecter des données en continu, sans interruption. Crawlbase Smart AI Proxy accélérera également votre scraping, afin que vous puissiez collecter des données plus rapidement et plus efficacement.