Dans un marché numérique en constante expansion, extraire des informations précieuses à partir des vastes listes de produits d'Amazon peut changer la donne pour les entreprises et les chercheurs. Que vous soyez un vendeur cherchant à analyser les prix des concurrents, un data scientist étudiant les tendances du marché ou un passionné de commerce électronique, l'extraction à grande échelle des pages de recherche Amazon peut vous fournir les données dont vous avez besoin. Cependant, l'extraction à grande échelle des résultats de recherche d'Amazon est un exploit difficile, principalement en raison de la quantité de données, des mises en page Web complexes, des limitations de taux, des CAPTCHA et d'autres mesures de sécurité en jeu.

Ce guide complet vous expliquera comment extraire les pages de recherche Amazon à grande échelle à l'aide Python et de la Base d'exploration Crawling API. Vous pouvez extraire et analyser efficacement les données des nombreuses listes de produits d'Amazon en tirant parti de cette puissante combinaison. Que vous soyez un entrepreneur en commerce électronique, un analyste de données ou un chercheur, ce guide vous fournira les outils et les connaissances nécessaires pour exploiter la puissance du scraping Web pour vos projets liés à Amazon.

Téléchargez notre ebook GRATUIT avec des idées, des techniques et des outils pour récupération des données d'Amazon de manière efficace.

Table des matières

  1. Comprendre la nécessité de récupérer les pages de recherche d'Amazon
  • Pourquoi scraper les pages de recherche Amazon ?
  1. Premiers pas avec Crawlbase Crawling API
  • Présentation de Crawlbase Crawling API
  • Pourquoi choisir Crawlbase Crawling API?
  • Bibliothèque Python Crawlbase
  1. Pré-requis
  • Configuration de votre environnement de développement
  • Installation des bibliothèques requises
  • Créer un compte Crawlbase
  1. Comprendre la structure de la page de recherche d'Amazon
  • Anatomie d'une page de recherche Amazon
  • Identifier les points de données intéressants
  • Contenu dynamique et rendu JavaScript
  1. Récupérer les pages de recherche Amazon avec Crawling API
  • Obtenir le bon jeton Crawlbase
  • Configuration de Crawlbase Crawling API
  • Gestion du contenu dynamique
  • Choisir un grattoir
  • Gestion de la pagination
  1. Conclusion
  2. FAQ - Foire Aux Questions

1. Comprendre la nécessité de récupérer les pages de recherche d'Amazon

Dans le vaste monde du shopping en ligne, Amazon est un géant. Il propose une sélection inégalée de produits dans une large gamme de catégories, ce qui en fait une destination incontournable pour les acheteurs du monde entier. Cependant, sous ce marché numérique se cache un trésor de données et d’informations qui n’attendent qu’à être découvertes.

Pourquoi scraper les pages de recherche Amazon ?

Amazon, l'une des plus grandes plateformes de commerce électronique au monde, héberge divers produits dans différentes catégories. L'accès aux données en temps réel des pages de recherche Amazon peut s'avérer très utile pour les entreprises et les particuliers. Voici quelques raisons convaincantes pour lesquelles l'extraction des pages de recherche Amazon est essentielle :

Étude de marché:
L'extraction des résultats de recherche Amazon vous permet de réaliser des études de marché approfondies. Vous pouvez analyser les tendances des produits, identifier les articles les plus vendus et comprendre les préférences des clients. Ces données peuvent guider le développement de vos produits et vos stratégies marketing.

Analyse de la concurrence:
Dans le paysage concurrentiel actuel du commerce électronique, il est essentiel de comprendre vos concurrents. En récupérant les listes Amazon, vous pouvez obtenir des informations sur les offres de produits, les stratégies de tarification et les avis des clients de vos concurrents.

Optimisation des prix :
La tarification dynamique est courante sur Amazon, les prix changeant fréquemment. L'analyse des pages de recherche Amazon vous permet de surveiller les fluctuations de prix et d'ajuster votre stratégie de tarification en temps réel pour rester compétitif.

Agrégation de contenu :
Si vous gérez un site Web d'évaluation de produits ou avez besoin d'informations produit à jour pour votre application, le scraping Web vous permet d'agréger le contenu des listes de produits d'Amazon.

Décisions d'investissement :
Pour les investisseurs, l’extraction des données d’Amazon peut fournir des informations précieuses pour évaluer les performances des entreprises de commerce électronique et prendre des décisions d’investissement éclairées.

Pourquoi récupérer les pages de recherche d'Amazon

2. Premiers pas avec Crawlbase Crawling API

Si vous êtes nouveau dans le scraping Web ou expérimenté dans le domaine, vous constaterez que Crawlbase Crawling API est un outil puissant qui simplifie le processus d'extraction de données à partir de sites Web, y compris les pages de recherche Amazon. Avant de nous plonger dans les détails de l'utilisation de cette API, prenons un moment pour comprendre pourquoi elle est essentielle et comment elle peut vous être utile.

Présentation de Crawlbase Crawling API

Base d'exploration Crawling API est un outil robuste qui permet aux développeurs et aux entreprises d'extraire facilement des données de sites Web à grande échelle. Il est conçu pour simplifier le scraping Web en fournissant une interface conviviale et des fonctionnalités puissantes. Avec Crawlbase, vous pouvez automatiser le processus d'extraction de données à partir de sites Web, y compris les pages de recherche Amazon, ce qui vous permet d'économiser un temps et des efforts précieux.

Crawlbase propose une API Restful qui vous permet d'interagir avec leur infrastructure d'exploration par programmation. Cela signifie que vous pouvez envoyer des requêtes à l'API, en spécifiant les URL que vous souhaitez récupérer ainsi que les URL disponibles. paramètres de requête, et recevez les données extraites dans un format structuré, généralement HTML ou JSON. Vous pouvez en savoir plus sur Crawlbase Crawling API ici.

Pourquoi choisir Crawlbase Crawling API?

Vous vous demandez peut-être pourquoi vous devriez opter pour Crawlbase Crawling API lorsque d'autres outils et bibliothèques de scraping Web sont disponibles. Voici quelques raisons convaincantes :

Évolutivité: Crawlbase est conçu pour le scraping Web à grande échelle. Que vous ayez besoin de scraper quelques centaines de pages ou des millions, Crawlbase peut s'en charger, garantissant que vos projets de scraping peuvent évoluer en fonction de vos besoins.

Fiabilité: Le scraping Web peut être exigeant, car les sites Web changent souvent de structure. Crawlbase offre une gestion et une surveillance des erreurs robustes, réduisant ainsi les risques d'échec inattendu de vos tâches de scraping.

Gestion des proxys : De nombreux sites Web utilisent des mesures anti-scraping telles que le blocage d'adresses IP. Crawlbase fournit une gestion de proxy pour vous aider à éviter les interdictions d'adresses IP et à accéder aux données de manière plus fiable.

Confort : Avec l'API de Crawlbase, vous n'avez pas à vous soucier de la création et de la maintenance de votre propre crawler ou scraper. Il s'agit d'une solution basée sur le cloud qui gère les complexités techniques, vous permettant de vous concentrer sur vos tâches d'extraction de données.

Données en temps réel : Avec Crawling API, vous aurez toujours accès aux données les plus récentes et les plus mises à jour. Il analyse tout en temps réel. C'est essentiel pour une analyse et une prise de décision précises.

Rentable: Créer et maintenir une solution de scraping interne peut être coûteux. Crawling API est très rentable et vous ne devez payer que selon vos besoins. Vous pouvez calculer le prix pour Crawling API usage ici.

Pourquoi nous choisir Crawling API

Bibliothèque Python Crawlbase

Pour exploiter la puissance de Crawlbase Crawling API, vous pouvez utiliser le Bibliothèque Python Crawlbase. Cette bibliothèque simplifie l'intégration de Crawlbase dans vos projets Python, la rendant accessible aux développeurs Python de tous niveaux d'expertise.

Tout d’abord, initialisez le Crawling API classe.

1
api = API d'exploration({ 'jeton': 'VOTRE_JETON_CRAWLBASE' })

Transmettez l’URL que vous souhaitez récupérer en utilisant la fonction suivante.

1
api.get(url, options = {})

Vous pouvez passer toutes les options parmi celles disponibles dans le Documentation de l'API.

Mise en situation :

1
2
3
4
5
6
réponse = api.get('https://www.reddit.com/r/pics/comments/5bx4bx/thanks_obama/', {
'utilisateur_agent': « Mozilla/5.0 (Windows NT 6.2 ; rv:20.0) Gecko/20121202 Firefox/30.0 »,
'format': 'json'
})
if réponse['code_d'état']== 200:
impression(réponse['corps'])

La bibliothèque Python de Crawlbase propose de nombreuses autres fonctionnalités. Vous pouvez en savoir plus à ce sujet ici.

Dans les sections suivantes, nous vous guiderons dans l'exploitation des capacités de Crawlbase Crawling API pour extraire efficacement les pages de recherche d'Amazon. Nous utiliserons Python, un langage de programmation polyvalent, pour illustrer le processus étape par étape. Explorons la richesse des informations d'Amazon et apprenons à exploiter son potentiel.

3. Pré-requis

Avant de nous lancer dans notre aventure de scraping Web, assurons-nous que vous disposez de tous les outils et ressources nécessaires. Dans ce chapitre, nous aborderons les conditions préalables nécessaires à la réussite du scraping Web des pages de recherche Amazon à l'aide de Crawlbase Crawling API.

Configuration de votre environnement de développement

Vous aurez besoin d'un environnement de développement adapté pour commencer à scraper du Web. Voici ce dont vous aurez besoin :

python:
Python est un langage de programmation polyvalent largement utilisé dans le scraping Web. Assurez-vous que Python est installé sur votre système. Vous pouvez télécharger la dernière version de Python sur le site officiel ici.

Éditeur de code ou IDE :
Choisissez un éditeur de code ou un environnement de développement intégré (IDE) pour écrire et exécuter votre code Python. Les options les plus courantes incluent PyCharm et Jupyter Notebook. Vous pouvez aussi utiliser Google ColabSélectionnez celui qui correspond le mieux à vos préférences et à votre flux de travail.

Installation des bibliothèques requises

Le scraping Web en Python est rendu plus accessible grâce à des bibliothèques qui simplifient des tâches telles que la création de HTTP, l'analyse HTML et la gestion des données. Installez les bibliothèques suivantes à l'aide de pip, le gestionnaire de paquets de Python :

1
2
pip installer des pandas
pip installe crawlbase

Les pandas : Pandas est une puissante bibliothèque de manipulation de données qui vous aidera à organiser et à analyser efficacement les données extraites.
Base de recherche : Une classe Python légère et sans dépendance qui agit comme wrapper pour l'API Crawlbase.

Créer un compte Crawlbase

Pour accéder à Crawlbase Crawler Pour accéder à l'API, vous aurez besoin d'un compte Crawlbase. Si vous n'en avez pas, suivez ces étapes pour créer un compte :

  1. Cliquez sur ici pour créer un nouveau compte Crawlbase.
  2. Remplissez les informations requises, notamment votre nom, votre adresse e-mail et votre mot de passe.
  3. Vérifiez votre adresse e-mail en cliquant sur le lien de vérification envoyé dans votre boîte de réception.
  4. Une fois votre email vérifié, vous pouvez accéder à votre tableau de bord Crawlbase.

Maintenant que votre environnement de développement est configuré et que vous avez un compte Crawlbase prêt, passons aux étapes suivantes, où nous obtiendrons votre jeton Crawlbase et commencerons à faire des demandes à Crawlbase. Crawling API.

4. Comprendre la structure de la page de recherche Amazon

Avant de nous lancer dans l'exploration du Web, il est essentiel de comprendre la structure d'une page de recherche Amazon. Les pages Web d'Amazon sont méticuleusement conçues pour offrir une expérience d'achat fluide, mais une multitude de données précieuses se cachent sous l'interface conviviale. Amazon fournit l'URL suivante pour les requêtes de recherche.

1
2
# Remplacez serch_query par celui de votre choix
https://www.amazon.com/s?k=search_query

Anatomie d'une page de recherche Amazon

Une page de recherche Amazon se compose généralement de plusieurs éléments clés :

Page de recherche Amazon
  1. Entête: La partie supérieure de la page contient le logo Amazon, la barre de recherche et les liens de navigation. Elle donne accès à différentes sections du site Web d'Amazon.
  2. Résultats de la recherche: Il s'agit du cœur de la page, où vous trouverez les résultats de la recherche. Chaque résultat représente une liste de produits et comprend des informations telles que le nom du produit, le prix, le vendeur et les évaluations des clients.
  3. Filtres et options de tri : Amazon permet aux utilisateurs d'affiner leurs résultats de recherche en appliquant des filtres basés sur la fourchette de prix, la marque, les évaluations des clients, etc. Les options de tri permettent aux utilisateurs d'organiser les produits par pertinence, prix ou évaluations des clients.
  4. Pagination: Si les résultats de la recherche s'étendent sur plusieurs pages, les contrôles de pagination sont généralement situés en bas de la page. Les utilisateurs peuvent naviguer entre différentes pages de résultats.
  5. Pied de page: Le pied de page contient des liens vers diverses politiques d'Amazon, le service client et des ressources supplémentaires. C'est la dernière section de la page.

Identifier les points de données intéressants

Pour extraire efficacement les pages de recherche d'Amazon, vous devez identifier les points de données spécifiques que vous souhaitez extraire. En fonction de vos objectifs, vous pourriez être intéressé par diverses informations, notamment :

  • Titre du produit: Le nom du produit vendu.
  • Prix: Le prix actuel du produit.
  • Information du vendeur: Détails sur le vendeur, tels que son nom et ses évaluations.
  • La disponibilité des produits: Informations indiquant si le produit est en stock ou en rupture de stock.
  • URL du produit : L'URL qui mène à la page du produit sur Amazon.
  • Évaluations des clients : Notes et avis fournis par les clients qui ont acheté le produit.
  • Caractéristiques du produit: Caractéristiques ou attributs clés du produit.
  • Informations sur la livraison: Détails sur les options d'expédition, y compris les délais et les coûts de livraison.
  • Annonces sponsorisées : Amazon inclut souvent des annonces sponsorisées en haut des résultats de recherche. Il s'agit de publicités payantes.

Contenu dynamique et rendu JavaScript

Comme de nombreux sites Web modernes, Amazon utilise le chargement dynamique du contenu à l'aide du rendu JavaScript et des appels Ajax. Cela signifie que certaines parties de la page, telles que les résultats de recherche et les filtres, peuvent ne pas être présentes dans le code source HTML initial. Au lieu de cela, elles sont chargées dynamiquement après le chargement initial de la page dans le navigateur de l'utilisateur.

Ce comportement dynamique peut poser des problèmes lors de la tentative d'extraction de données à partir des pages de recherche Amazon. Cependant, avec Crawlbase Crawling API, vous pouvez surmonter efficacement ces défis. Dans les sections suivantes, nous verrons comment gérer le contenu dynamique et le rendu JavaScript lors de l'extraction des pages de recherche Amazon.

En comprenant la structure des pages de recherche Amazon et en identifiant les points de données qui vous intéressent, vous serez mieux préparé à créer des requêtes de scraping Web ciblées à l'aide de Crawlbase Crawling APIDans les prochains chapitres, nous aborderons les aspects pratiques du web scraping, en vous guidant tout au long du processus de récupération efficace de ces précieuses informations.

5. Récupération des pages de recherche Amazon avec Crawling API

Dans cette section, nous nous lançons dans un voyage passionnant pour extraire les pages de recherche Amazon à grande échelle à l'aide de Crawlbase Crawling API. Par exemple, nous allons recueillir des informations essentielles sur les produits liés à la requête de recherche « jeux » sur Amazon. Pour ce faire, nous utiliserons la bibliothèque Python Crawlbase, qui offre une intégration transparente avec le Crawling API. Passons au processus :

Obtenir le bon jeton Crawlbase

Nous devons obtenir un jeton API avant de pouvoir exploiter la puissance de Crawlbase Crawling API. Crawlbase propose deux types de tokens : le token normal (TCP) pour les sites Web statiques et le token JavaScript (JS) pour les sites Web dynamiques ou pilotés par JavaScript. Étant donné qu'Amazon s'appuie fortement sur JavaScript pour le chargement de contenu dynamique, nous opterons pour le token JavaScript.

1
2
3
4
de base d'exploration importer API d'exploration

# Initialiser le Crawling API avec votre jeton JavaScript Crawlbase
api = API d'exploration({ 'jeton': 'VOUS_CRAWLBASE_JS_TOKEN' })

Vous pouvez obtenir votre jeton Crawlbase ici après avoir créé un compte dessus.

Configuration de Crawlbase Crawling API

Avec notre jeton JavaScript en main, nous sommes prêts à configurer Crawlbase Crawling API. Avant de continuer, nous devons connaître la structure de la réponse de sortie. Vous pouvez recevoir la réponse de sortie sous deux types : HTML ou JSON. Par défaut, Crawling API utilise le format HTML.

Réponse HTML :

1
2
3
4
5
6
7
En-têtes:
url: "L'URL qui a été explorée"
statut_original: 200
pc_status: 200

Les chuchotements :
Le HTML de la page

Pour obtenir la réponse au format JSON vous devez passer un paramètre « format » avec la valeur « json ».

Réponse JSON :

1
2
3
4
5
6
{
"état_original": "200",
"pc_status": 200,
"url": "L'URL qui a été explorée",
"corps": "Le HTML de la page"
}

Nous pouvons en savoir plus sur Crawling API réponse ici. Pour l'exemple, nous utiliserons l'option par défaut. Nous utiliserons l'objet API initialisé pour effectuer des requêtes. Spécifiez l'URL que vous souhaitez récupérer à l'aide de la fonction api.get(url, options={}).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
de base d'exploration importer API d'exploration

# Initialiser le Crawling API avec votre jeton Crawlbase
api = API d'exploration({ 'jeton': 'VOUS_CRAWLBASE_JS_TOKEN' })

# URL de la page de recherche Amazon que vous souhaitez récupérer
amazon_search_url = 'https://www.amazon.com/s?k=games'

# Faire une demande pour extraire la page de recherche Amazon
réponse = api.get(amazon_search_url)

# Vérifiez si la demande a réussi
if réponse['code_d'état']== 200:
# Contenu HTML extrait après décodage des données d'octets
(#latin1 gérera également les caractères chinois)
html_content = réponse['corps'].décoder('latin1')

# Enregistrer le contenu HTML dans un fichier
avec ouvert('sortie.html', 'w', encodage=« utf-8 ») as fichier:
fichier.write(contenu_html)
d'autre:
impression(« Échec de la récupération de la page. Code d'état : », réponse['code_d'état'])

Dans l'extrait de code ci-dessus, nous préservons le contenu HTML récupéré en l'enregistrant dans un fichier HTML. Cette étape est essentielle pour vérifier que nous avons bien obtenu les données HTML souhaitées. Nous pouvons prévisualiser le fichier et voir quel contenu est inclus dans le code HTML exploré.

output.html Exposition :

Sortie sans contenu

Comme vous pouvez le voir ci-dessus, aucune information utile n'est présente dans le code HTML analysé. Cela est dû au fait qu'Amazon charge son contenu important de manière dynamique à l'aide de JavaScript et d'Ajax.

Gestion du contenu dynamique

Comme de nombreux sites Web modernes, les pages de recherche Amazon utilisent le chargement dynamique du contenu à l'aide du rendu JavaScript et des appels Ajax. Ce comportement dynamique peut poser des problèmes lors de la tentative d'extraction de données à partir de ces pages. Cependant, avec Crawlbase Crawling API, vous pouvez surmonter efficacement ces défis. Nous pouvons utiliser les paramètres de requête suivants fournis par Crawling API pour surmonter ce problème.

Ajout de paramètres
Lorsque vous utilisez le jeton JavaScript avec l'API Crawlbase, vous pouvez spécifier certains paramètres spéciaux pour garantir la capture précise du contenu rendu dynamiquement. Voici quelques paramètres cruciaux :

  • page_wait: Ce paramètre facultatif vous permet de spécifier le nombre de millisecondes à attendre avant que le navigateur capture le code HTML résultant. Utilisez ce paramètre dans les situations où le rendu d'une page prend du temps ou lorsque les requêtes AJAX doivent être chargées avant la capture du code HTML.
  • ajax_wait: Un autre paramètre facultatif pour le jeton JavaScript. Il vous permet de spécifier s'il faut attendre la fin des requêtes AJAX avant de recevoir la réponse HTML. Ceci est important lorsque le contenu repose sur des requêtes AJAX.

Pour utiliser ces paramètres dans notre exemple, nous pouvons mettre à jour notre code comme ceci :

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
de base d'exploration importer API d'exploration

# Initialiser le Crawling API avec votre jeton Crawlbase
api = API d'exploration({ 'jeton': 'VOUS_CRAWLBASE_JS_TOKEN' })

# URL de la page de recherche Amazon que vous souhaitez récupérer
amazon_search_url = 'https://www.amazon.com/s?k=games'

# options pour Crawling API
choix = {
'page_wait': 2000,
'ajax_wait': 'vrai'
}

# Faire une demande pour extraire la page de recherche Amazon avec des options
réponse = api.get(amazon_search_url, options)

# Vérifiez si la demande a réussi
if réponse['code_d'état']== 200:
# Contenu HTML extrait après décodage des données d'octets
html_content = réponse['corps'].décoder('latin1')

# Enregistrer le contenu HTML dans un fichier
avec ouvert('sortie.html', 'w', encodage=« utf-8 ») as fichier:
fichier.write(contenu_html)
d'autre:
impression(« Échec de la récupération de la page. Code d'état : », réponse['code_d'état'])

output.html Exposition :

Sortie avec contenu

Crawling API fournit de nombreux autres paramètres importants. Vous pouvez en savoir plus à leur sujet ici.

Choisir un grattoir

Crawling API fournit plusieurs scrapers intégrés pour différents sites Web importants, y compris Amazon. Vous pouvez en savoir plus sur les scrapers disponibles ici. Le paramètre « scraper » est utilisé pour analyser les données récupérées en fonction d'un scraper spécifique fourni par l'API Crawlbase. Il est facultatif ; s'il n'est pas spécifié, vous recevrez le code HTML complet de la page pour le scraping manuel. Si vous utilisez ce paramètre, la réponse sera renvoyée sous forme de JSON contenant les informations analysées en fonction du scraper spécifié.

Mise en situation :

1
2
# Exemple utilisant un scraper spécifique
réponse = api.get('https://www.amazon.com/s?k=your_search_query', { 'grattoir': 'nom_du_grattoir' })

L'un des scrapers disponibles est « amazon-serp », conçu pour les pages de résultats de recherche Amazon. Il renvoie un tableau de produits avec des détails tels que le nom, le prix, les avis des clients, etc. Voici un exemple de sortie du scraper « amazon-serp » :

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
{
"des produits": [
{
"prénom": "Nom du produit",
"prix": «$ 19.99»,
"Prix brut": 19.99,
"devise": "$",
"offre": « Détails de l'offre »,
"Avis client": "4.5 étoiles sur 5",
"nombre d'avis clients": "1,234",
"message d'expédition": « Détails d'expédition »,
"asin": « Produit ASIN »,
"image": « URL de l'image du produit »,
"url": « URL du produit »,
"estPrime": oui,
"Annonce sponsorisée": non,
"couponInfo": « Détails du coupon »,
"badgesInfo": [« Insigne 1 », « Insigne 2 »]
}
// Entrées de produits supplémentaires...
],
"resultInfo": « Informations sur les résultats »,
"pagination": {
"page actuelle": 1,
"page suivante": 2,
"totalPages": 20
}
}

Cela inclut toutes les informations que nous souhaitons. Étant donné que la réponse sera au format JSON cette fois-ci, nous allons stocker certaines informations importantes de chaque objet produit dans un fichier CSV. Ajoutons donc ce paramètre dans notre exemple et effectuons les modifications conformément à la réponse :

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
de base d'exploration importer API d'exploration
importer pandas as pd
importer json

# Initialiser le Crawling API avec votre jeton Crawlbase
api = API d'exploration({ 'jeton': 'VOUS_CRAWLBASE_JS_TOKEN' })

# URL de la page de recherche Amazon que vous souhaitez récupérer
amazon_search_url = 'https://www.amazon.com/s?k=games'

# options pour Crawling API
choix = {
'page_wait': 2000,
'ajax_wait': 'vrai',
'grattoir': 'amazon-serp'
}

# Faire une demande pour extraire la page de recherche Amazon avec des options
réponse = api.get(amazon_search_url, options)

# Vérifiez si la demande a réussi
if réponse['code_d'état']== 200:
# Chargement de JSON à partir du corps de la réponse après le décodage des données d'octets
response_json = json.loads(réponse['corps'].décoder('latin1'))

# Obtenir les résultats du scraper
scraper_result = réponse_json['corps']

# Extraction des produits à partir de la réponse JSON
produits = scraper_result.get("des produits", [])

# Création de listes pour stocker les données extraites
données_produit = []
pour produits in produits:
info_produit = {
"url": produit.get("url", ""),
"prénom": produit.get("prénom", ""),
"asin": produit.get("asin", ""),
"image": produit.get("image", ""),
"prix": produit.get("prix", ""),
"estPrime": produit.get("estPrime", ""),
"offre": produit.get("offre", ""),
"Avis client": produit.get("Avis client", ""),
"nombre d'avis clients": produit.get("nombre d'avis clients", ""),
}
données_produit.append(informations_produit)

# Créer un Pandas DataFrame à partir des données extraites
df = pd.DataFrame(données_produit)

# Enregistrer le DataFrame dans un fichier CSV
df.to_csv("amazon_products.csv", indice=Faux)
d'autre:
impression(« Échec de la récupération de la page. Code d'état : », réponse['code_d'état'])

Dans le code ci-dessus, nous avons ajouté le scarper dans les options, puis collecté toutes les informations que nous voulions pour chaque objet JSON de produit à l'intérieur de la réponse. Enfin, nous créons un dataframe Pandas pour utiliser sa fonction « to_csv » pour enregistrer les données dans un fichier CSV.

amazon_products.csv Exposition :

Sortie CSV sans pagination

Gestion de la pagination

Lors de l'extraction des pages de recherche Amazon, il est essentiel de gérer correctement la pagination pour collecter tous les produits dont vous avez besoin. Crawlbase « amazon-serp » fournit des informations de pagination dans la réponse JSON, notamment la page actuelle, la page suivante et le nombre total de pages.

1
2
3
4
5
6
// Exemple
"pagination": {
"page actuelle": 1,
"page suivante": 2,
"totalPages": 20
}

Comme vous pouvez le voir, « currentPage » indique la page sur laquelle vous vous trouvez actuellement, « nextPage » affiche le numéro de page du prochain ensemble de résultats et « totalPages » vous indique le nombre total de pages disponibles.

Pour extraire tous les produits, vous devrez parcourir ces pages, en envoyant des requêtes avec le numéro de page approprié ajouté à l'URL, comme le fait Amazon :

Mettons à jour l'exemple de code pour gérer la pagination et récupérer tous les produits :

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
64
65
66
67
68
69
70
71
72
73
74
de base d'exploration importer API d'exploration
importer pandas as pd
importer json

# Initialiser le Crawling API avec votre jeton Crawlbase
api = API d'exploration({ 'jeton': 'VOUS_CRAWLBASE_JS_TOKEN' })

# URL de la page de recherche Amazon que vous souhaitez récupérer
amazon_search_url = 'https://www.amazon.com/s?k=games'

# options pour Crawling API
choix = {
'page_wait': 2000,
'ajax_wait': 'vrai',
'grattoir': 'amazon-serp'
}

# Liste pour stocker les informations sur les produits récupérés
données_produit = []

def gratter_url(url):
# Faire une demande pour extraire la page de recherche Amazon avec des options
réponse = api.get(url, options)

# Vérifiez si la demande a réussi
if réponse['code_d'état']== 200:
# Chargement de JSON à partir du corps de la réponse après le décodage des données d'octets
response_json = json.loads(réponse['corps'].décoder('latin1'))

# Obtenir les résultats du scraper
scraper_result = réponse_json['corps']

# Extraction des produits à partir de la réponse JSON
produits = scraper_result.get("des produits", [])

pour produits in produits:
info_produit = {
"url": produit.get("url", ""),
"prénom": produit.get("prénom", ""),
"asin": produit.get("asin", ""),
"image": produit.get("image", ""),
"prix": produit.get("prix", ""),
"estPrime": produit.get("estPrime", ""),
"offre": produit.get("offre", ""),
"Avis client": produit.get("Avis client", ""),
"nombre d'avis clients": produit.get("nombre d'avis clients", ""),
}
données_produit.append(informations_produit)

# Extraire les informations de pagination et les renvoyer
pagination = scraper_result.get("pagination")
retourner pagination

d'autre:
impression(« Échec de la récupération de la page. Code d'état : », réponse['code_d'état'])
retourner Aucun

# Extraire la page initiale et obtenir les informations de pagination
pagination_info = scrape_url(amazon_search_url)

# Vérifiez si les informations de pagination sont disponibles
if pagination_info:
total_pages = pagination_info.get('totalPages', 1)

# Commencez à partir de la page 2 puisque la première page est déjà grattée
pour numéro de page in gamme(2, nombre_total_de_pages + 1):
page_url = f'{amazon_search_url}&page={numéro_de_page}'
scrape_url(url de la page)

# Créer un Pandas DataFrame à partir des données extraites
df = pd.DataFrame(données_produit)

# Enregistrer le DataFrame dans un fichier CSV
df.to_csv("amazon_products.csv", indice=Faux)

Dans cette section de code, nous lançons le processus de scraping Web. Tout d'abord, nous définissons l'URL de recherche Amazon que nous souhaitons récupérer. Ensuite, le code vérifie les informations de pagination sur la page initiale. Si la pagination est présente, ce qui signifie qu'il existe plusieurs pages de résultats, le code parcourt les pages suivantes pour récupérer des données de produit supplémentaires.

Enfin, les données extraites sont organisées dans un cadre de données Pandas, ce qui permet une manipulation facile des données, et le cadre de données est enregistré dans un fichier CSV. Ce code vous permet de collecter un ensemble de données complet de produits Amazon à partir des résultats de recherche, même s'ils s'étendent sur plusieurs pages.

amazon_products.csv Exposition :

Sortie CSV avec pagination

6. Conclusion

Ce guide propose une exploration détaillée des méthodologies permettant d'utiliser Python et Crawlbase Crawling API pour extraire efficacement les pages de recherche Amazon. Les utilisateurs peuvent extraire et analyser en toute transparence les données des vastes listes de produits d'Amazon en intégrant ces puissants outils. Que le rôle soit celui d'un stratège commercial, d'un data scientist ou d'un spécialiste de la recherche, cette documentation fournit le savoir-faire technique et les ressources nécessaires pour réussir les projets de scraping Web centrés sur Amazon.

Alors que les professionnels s'engagent de plus en plus dans des activités de scraping Web, le respect des normes éthiques et techniques reste primordial. Le respect des conditions d'utilisation d'un site Web et des directives du fichier robots.txt est obligatoire. De plus, assurez-vous que le scraping Web est utilisé à des fins légitimes et constructives. Grâce aux connaissances acquises grâce à ce guide, les professionnels sont bien équipés pour exploiter le vaste potentiel de données qu'offrent les listes de produits d'Amazon, générant des résultats analytiques et commerciaux.

7. Questions fréquemment posées

Q : Puis-je extraire les pages de recherche Amazon à des fins de recherche ou d’analyse personnelle ?

Le scraping des pages de recherche Amazon à des fins de recherche ou d'analyse personnelle est généralement acceptable, à condition de respecter les conditions de service d'Amazon et les règles de son site Web. Cependant, il est essentiel d'être attentif au volume de requêtes que vous envoyez au site Web, car un scraping excessif peut entraîner un blocage d'IP ou d'autres mesures pour empêcher le scraping. Pour résoudre ce problème, vous pouvez envisager d'utiliser un Base d'exploration Crawling API qui vous permet d'extraire des données de sites Web de manière plus structurée et contrôlée, vous aidant ainsi à éviter les problèmes potentiels associés à des demandes excessives. Cette approche peut vous permettre de mener des recherches et des analyses tout en restant dans les limites des politiques d'Amazon.

Q : Existe-t-il des limitations de débit ou des CAPTCHA lors du scraping d'Amazon ?

Oui, Amazon utilise la limitation de débit et les CAPTCHA pour protéger son site Web contre les accès excessifs ou automatisés. Lors du scraping d'Amazon, il est essentiel d'envoyer des requêtes à un rythme raisonnable et de mettre en œuvre des mécanismes pour gérer les CAPTCHA s'ils sont rencontrés. Utiliser un service comme Crawlbase Crawling API peut vous aider à relever efficacement ces défis.

Q : Puis-je récupérer d’autres sites Web de commerce électronique en utilisant des techniques similaires ?

Oui, de nombreux sites de commerce électronique utilisent des techniques de scraping Web similaires, et les principes abordés dans ce guide peuvent être appliqués pour extraire des données d'autres plateformes de commerce électronique. Cependant, gardez à l'esprit que chaque site Web peut avoir ses propres politiques et défis, il est donc essentiel de consulter leurs conditions de service et d'adapter votre approche de scraping en conséquence.

Q : Quels sont les cas d’utilisation courants pour l’extraction de pages de recherche Amazon ?

Les cas d'utilisation courants du scraping des pages de recherche Amazon incluent les études de marché, l'analyse de la concurrence, l'optimisation des prix, l'agrégation de contenu pour les sites Web d'évaluation de produits et la prise de décisions d'investissement éclairées. Le scraping Web peut fournir des informations précieuses aux entreprises de commerce électronique, aux analystes de données, aux chercheurs et aux entrepreneurs.