Tutoriel Scrapy Python : Guide Pratique de l’Extraction Web

Dernière mise à jour le June 16, 2025

Laissez-moi vous partager ma première expérience d’extraction de données produits sur un site e-commerce. J’étais armé de Python, d’un bon café, et d’une idée : créer un comparateur de prix pour Amazon. Ce quiLaissez-moi vous partager la première fois où j’ai voulu extraire des données produits d’un site e-commerce. J’avais Python ouvert, un café à la main, et l’idée de créer un comparateur de prix pour Amazon. En quelques heures, mon « petit projet rapide » s’est transformé en un vrai casse-tête : sélecteurs XPath à n’en plus finir, gestion de la pagination, débogage interminable… Si tu as déjà essayé de manipuler des données web avec du code, ce mélange d’excitation et de « mais pourquoi c’est si galère ? » te parlera sûrement.

Aujourd’hui, l’extraction web n’est plus réservée aux data scientists ou aux ingénieurs. C’est devenu une compétence essentielle pour les équipes commerciales, les responsables e-commerce, les marketeurs, ou toute personne qui veut transformer le chaos du web en informations utiles. D’ailleurs, le marché des logiciels d’extraction web a atteint , et ça ne fait que commencer. Pourtant, même si Python et des frameworks comme Scrapy restent la référence pour des projets sur-mesure à grande échelle, ils ne sont pas vraiment accessibles aux débutants. C’est pour ça que dans ce tutoriel, je vais te guider pas à pas avec Scrapy sur un cas concret Amazon — et te présenter une alternative bien plus simple, boostée à l’IA, pour les non-codeurs : .

Scrapy Python, c’est quoi ? L’outil incontournable pour l’extraction web

On commence par la base. Scrapy est un framework open source en Python, taillé pour le crawling et l’extraction de données sur le web. Imagine-le comme une boîte à outils complète pour créer des « spiders » (c’est le nom de ses robots) capables de naviguer sur des sites, suivre des liens, gérer la pagination et extraire des données structurées à grande échelle.

Quelle différence avec un simple duo requests + BeautifulSoup ? Ces bibliothèques sont top pour des extractions ponctuelles et simples, mais Scrapy est pensé pour des projets costauds et volumineux — du genre où tu dois :

  • Parcourir des milliers de pages (genre tout un catalogue e-commerce)
  • Suivre automatiquement les liens et gérer la pagination
  • Traiter les données en asynchrone pour aller plus vite
  • Structurer, nettoyer et exporter les données de façon reproductible

En bref, Scrapy c’est le couteau suisse de l’extraction web : puissant, flexible, mais parfois un peu intimidant quand on débute.

Pourquoi choisir Scrapy Python pour l’extraction web ?

Alors, pourquoi les développeurs et les équipes data adorent Scrapy ? Voilà ce qui fait sa force :

Cas d’usageAtouts de ScrapyValeur métier
Veille tarifaireGère la pagination, requêtes asynchrones, planificationRestez compétitif, ajustez vos prix
Extraction de catalogues produitsSuit les liens, extrait des données structuréesConstituez des bases produits, alimentez vos analyses
Analyse concurrentielleÉvolutif, résistant aux changements de siteSuivez les tendances, lancements, stocks
Études de marchéPipelines modulaires pour nettoyer/transformerAgrégez les avis, analysez les sentiments

Le moteur asynchrone de Scrapy (basé sur Twisted) lui permet de récupérer plusieurs pages en même temps, ce qui le rend rapide et évolutif. Sa structure modulaire te laisse intégrer facilement des logiques personnalisées (proxies, user-agents, nettoyage des données…). Et grâce aux pipelines, tu peux traiter, valider et exporter tes données comme tu veux : CSV, JSON, base de données, etc.

Pour les équipes à l’aise avec Python, Scrapy est une vraie bête de course. Mais soyons honnêtes : ce n’est pas vraiment « prêt à l’emploi » pour un utilisateur métier.

Scrapy 1.jpeg

Installer et configurer ton environnement Scrapy Python

Prêt à mettre les mains dans le cambouis ? Voici comment démarrer Scrapy de zéro :

1. Installer Scrapy

Assure-toi d’avoir Python 3.9 ou plus. Ouvre ton terminal et tape :

pip install scrapy

Vérifie l’installation avec :

scrapy version

Si tu es sous Windows ou Anaconda, crée un environnement virtuel pour éviter les conflits. Scrapy fonctionne sur Windows, macOS et Linux.

2. Créer un nouveau projet Scrapy

Lançons un projet nommé amazonscraper :

scrapy startproject amazonscraper

Tu obtiens une arborescence comme ceci :

amazonscraper/
├── scrapy.cfg
├── amazonscraper/
│   ├── __init__.py
│   ├── items.py
│   ├── pipelines.py
│   ├── middlewares.py
│   ├── settings.py
│   └── spiders/

À quoi servent ces fichiers ?

  • scrapy.cfg : Configuration du projet (rarement modifiée)
  • items.py : Définition des modèles de données (ex : Produit avec nom, prix…)
  • pipelines.py : Nettoyage, validation et export des données
  • middlewares.py : Fonctions avancées (proxies, headers personnalisés)
  • settings.py : Réglages de Scrapy (concurrence, délais…)
  • spiders/ : Ta logique d’extraction principale

Si tu commences à te sentir perdu, t’inquiète : c’est normal, beaucoup de non-développeurs lâchent l’affaire ici.

Construire un extracteur Python : extraire des données produits Amazon avec Scrapy

Prenons un exemple concret : extraire les données produits des résultats de recherche Amazon. (Attention : Amazon interdit le scraping dans ses conditions d’utilisation et dispose de protections anti-bots. Ceci est à but pédagogique !)

1. Créer un spider

Dans le dossier spiders/, crée un fichier amazon_spider.py :

import scrapy

class AmazonSpider(scrapy.Spider):
    name = "amazon_example"
    allowed_domains = ["amazon.com"]
    start_urls = ["https://www.amazon.com/s?k=smartphones"]

    def parse(self, response):
        products = response.xpath("//div[@data-component-type='s-search-result']")
        for product in products:
            yield {
                'name': product.xpath(".//span[@class='a-size-medium a-color-base a-text-normal']/text()").get(),
                'price': product.xpath(".//span[@class='a-price-whole']/text()").get(),
                'rating': product.xpath(".//span[@aria-label]/text()").get()
            }
        next_page = response.xpath("//li[@class='a-last']/a/@href").get()
        if next_page:
            yield scrapy.Request(url=response.urljoin(next_page), callback=self.parse)

Ce que fait ce code :

  • On démarre sur une page de résultats Amazon pour « smartphones ».
  • Pour chaque produit, on extrait le nom, le prix et la note via XPath.
  • On détecte le lien « page suivante » et Scrapy continue le scraping sur toutes les pages.

2. Lancer ton spider

Depuis la racine du projet, lance :

scrapy crawl amazon_example -o products.json

Et voilà : Scrapy parcourt les résultats, suit la pagination et enregistre tes données dans un fichier JSON.

Gérer la pagination et le contenu dynamique

La gestion native de la pagination et du suivi de liens est l’un des gros points forts de Scrapy. Mais pour le contenu dynamique (chargé en JavaScript), Scrapy ne voit que le HTML statique. Pour extraire ce type de données (scroll infini, pop-ups…), il faudra coupler Scrapy à des outils comme Selenium ou Splash. Là, on passe à un autre niveau de complexité.

Traiter et exporter les données avec Scrapy Python

Une fois tes données extraites, il faut souvent les nettoyer et les exporter.

  • Pipelines : Dans pipelines.py, tu peux écrire des classes Python pour nettoyer, valider ou enrichir tes données (ex : convertir les prix en nombres, supprimer les lignes incomplètes, ou appeler une API de traduction).
  • Export : Scrapy exporte nativement en CSV, JSON ou XML via l’option -o. Pour des exports avancés (Google Sheets, etc.), il faudra coder ou utiliser des bibliothèques tierces.

Tu veux analyser les sentiments ou traduire les descriptions ? Il faudra intégrer des API ou librairies externes — rien n’est prévu d’office.

Les limites cachées : les défis de Scrapy Python pour les métiers

Soyons clairs : Scrapy est puissant, mais loin d’être accessible aux non-développeurs. Les principaux obstacles :

  • Courbe d’apprentissage raide : Il faut maîtriser Python, HTML, XPath/CSS, et la structure Scrapy. Compte plusieurs jours (voire semaines) pour être à l’aise.
  • Installation fastidieuse : Installer Python, gérer les dépendances, résoudre les bugs… surtout sous Windows, c’est parfois galère.
  • Aucune interface visuelle : Tout se fait en code. Impossible de « cliquer » sur la page pour sélectionner les données.
  • Maintenance : Si le site change, ton spider casse. À toi de corriger.
  • Pas d’IA intégrée : Traduction, résumé, analyse de sentiment ? À coder soi-même.

Scrapy 2.jpeg

Petit comparatif :

ProblèmeScrapy (Python)Attentes métier
Code requisOuiNon, idéalement
Temps d’installationHeures (voire jours)Quelques minutes
MaintenanceContinue (site évolue)Minime
Export de donnéesCSV/JSON (intégration manuelle)Direct Excel/Sheets/Notion
Fonctions IAAucune (à intégrer soi-même)Traduction/sentiment intégrés

Pour un marketeur, commercial ou responsable opérationnel, Scrapy ressemble parfois à sortir le bazooka pour éclater un ballon d’eau…

Découvrez Thunderbit : l’alternative no-code à Scrapy Python

C’est là que entre en scène. Après des années à concevoir des outils d’automatisation, je peux te le dire : la plupart des utilisateurs métiers ne veulent pas coder — ils veulent juste obtenir les données, vite.

Thunderbit est un extracteur web IA sous forme d’extension Chrome. Il s’adresse à tous ceux qui veulent :

  • Extraire des données de n’importe quel site en quelques clics
  • Décrire ce qu’ils veulent en langage naturel (« Nom du produit, Prix, Note »)
  • Gérer automatiquement la pagination et les sous-pages
  • Exporter directement vers Excel, Google Sheets, Airtable ou Notion
  • Traduire, résumer ou analyser les sentiments instantanément

Pas de Python. Pas de sélecteurs. Pas de galère de maintenance.

Thunderbit est pensé pour les pros qui veulent gagner du temps et laisser l’IA faire le boulot.

Thunderbit vs Scrapy Python : le match

Comparons-les point par point :

CritèreScrapy (Python)Thunderbit (Outil IA)
Compétences requisesPython, HTML, sélecteursAucune — pointer, cliquer, langage naturel
Temps de mise en placeHeures (installation, code, debug)Minutes (installer l’extension, se connecter)
Structuration des donnéesManuelle (définir items, pipelines)IA détecte et suggère les colonnes
Pagination/sous-pagesÀ coder1 clic (géré par l’IA)
TraductionCode ou API externeIntégré — activez « Traduire »
Analyse de sentimentLibrairie/API externeIntégré — ajoutez une colonne « Sentiment »
ExportCSV/JSON (import manuel)1 clic vers Excel, Google Sheets, Airtable, Notion
MaintenanceManuelle (adapter le code)L’IA s’adapte aux petits changements
ÉchelleIdéal pour gros projets récurrentsParfait pour tâches rapides, volume modéré
CoûtGratuit (mais coûte du temps/ressources dev)Gratuit limité + offres payantes (dès 9$/mois, mais gros gain de temps)

Quand choisir Scrapy Python ou Thunderbit pour l’extraction web ?

Ma règle simple :

  • Opte pour Scrapy si :
    • Tu es développeur ou tu en as un dans l’équipe
    • Tu dois extraire des dizaines de milliers de pages ou bâtir un pipeline sur-mesure
    • Le site est complexe ou nécessite une logique avancée
    • Tu veux un contrôle total (et la maintenance ne te fait pas peur)
  • Choisis Thunderbit si :
    • Tu ne codes pas (ou tu ne veux pas coder)
    • Tu as besoin de données rapidement, pour une tâche ponctuelle ou récurrente
    • Tu veux la traduction, l’analyse de sentiment ou l’enrichissement intégrés
    • Tu privilégies la rapidité et la flexibilité à la personnalisation extrême

Scrapy 3.jpeg

Petit arbre de décision :

  1. Tu codes en Python ?
    • Oui → Scrapy ou Thunderbit (pour aller vite)
    • Non → Thunderbit
  2. Ton projet est-il massif et récurrent ?
    • Oui → Scrapy
    • Non → Thunderbit
  3. Besoin de traduction ou d’analyse de sentiment ?
    • Oui → Thunderbit
    • Non → Les deux conviennent

Tutoriel pas à pas : extraire des produits Amazon avec Thunderbit (sans code)

Reprenons l’exemple Amazon — version ultra-simple cette fois.

1. Installer Thunderbit

  • Inscris-toi (offre gratuite dispo)

2. Va sur Amazon et cherche ton produit

  • Ouvre et lance une recherche (ex : « laptops » ou tout autre produit)

3. Lance Thunderbit sur la page

  • Clique sur l’icône Thunderbit dans ton navigateur
  • Le panneau latéral s’ouvre et reconnaît la page Amazon

4. Utilise l’IA pour suggérer les champs

  • Clique sur « IA Suggérer les champs »
  • L’IA de Thunderbit analyse la page et propose des colonnes comme « Nom du produit », « Prix », « Note », « Nombre d’avis »
  • Ajoute ou retire des colonnes selon tes besoins (tu veux « URL du produit » ou « éligibilité Prime » ? Tape-le simplement)

5. Active la pagination et l’extraction des sous-pages

  • Active Pagination : Thunderbit cliquera automatiquement sur « Suivant » et extraira toutes les pages
  • Active Extraction des sous-pages : Thunderbit visitera chaque fiche produit pour récupérer plus d’infos (description, ASIN…)

6. Lance l’extraction

  • Clique sur Extraire
  • Regarde Thunderbit collecter les données en temps réel, page après page

7. Traduits et analyse les sentiments (optionnel)

  • Besoin de traduire les descriptions ? Active « Traduire » sur la colonne concernée
  • Envie d’analyser les avis ? Ajoute une colonne « Sentiment » — l’IA de Thunderbit s’en occupe

8. Exporte tes données

  • Clique sur Exporter
  • Choisis Excel, Google Sheets, Airtable ou Notion
  • Tes données sont prêtes à l’emploi — sans import manuel ni CSV à manipuler

9. Planifie des extractions récurrentes (optionnel)

  • Programme un horaire (ex : tous les jours à 8h)
  • Thunderbit lancera l’extraction automatiquement et mettra à jour la destination choisie

C’est tout. Pas de code, pas de sélecteurs, pas de maintenance. Juste des données, prêtes à l’emploi.

Bonus : maximise tes projets d’extraction web

Que tu utilises Scrapy, Thunderbit ou un autre outil, voici quelques bonnes pratiques apprises sur le terrain :

  • Valide tes données : Vérifie toujours les valeurs manquantes ou incohérentes (prix à 0$, noms vides…)
  • Respecte la légalité : Consulte les conditions d’utilisation du site, respecte le robots.txt et évite de surcharger les serveurs
  • Automatise intelligemment : Programme tes extractions pour garder des données fraîches, mais inutile de scraper trop souvent
  • Profite des outils gratuits : Thunderbit propose des extracteurs d’emails, téléphones et images gratuits — parfait pour la prospection ou la curation
  • Organise pour l’analyse : Exporte directement vers Sheets/Excel pour filtrer, croiser et visualiser rapidement

Pour plus d’astuces, va voir le ou leur .

Pour encore plus de conseils, consulte le ou leur .

Conclusion : l’extraction web simplifiée — choisis le bon outil pour ton équipe

En résumé : Scrapy est une référence pour les développeurs, mais surdimensionné pour la plupart des métiers. Si tu es à l’aise avec Python et que tu dois créer un extracteur sur-mesure à grande échelle, Scrapy est un excellent choix. Mais si tu veux aller vite, sans coder, et obtenir des données (avec traduction et analyse de sentiment intégrées), est la solution idéale.

J’ai vu de mes propres yeux combien Thunderbit fait gagner du temps et évite la frustration aux équipes non techniques. Passer de « j’aimerais avoir ces données » à « elles sont dans mon tableur » ne prend que quelques minutes — plus besoin d’attendre des heures ou des jours. Avec des fonctions comme IA Suggérer les champs, extraction des sous-pages et export en un clic, transformer le web en intelligence métier n’a jamais été aussi simple.

Alors, la prochaine fois que tu dois extraire des produits, surveiller des prix ou constituer une liste de prospects, pose-toi la question : envie de coder en Python, ou d’obtenir des résultats ? Teste l’offre gratuite de Thunderbit et découvre à quel point l’extraction web peut devenir simple.

Envie d’en savoir plus ? Va sur le , , ou explore les bonnes pratiques d’extraction web sur le .

Pour aller plus loin :

Attention : veille toujours à respecter les conditions d’utilisation des sites et la législation locale lors de tes extractions web. En cas de doute, demande conseil à un juriste — personne n’a envie de recevoir une mise en demeure pour un tableur !

Rédigé par Shuai Guan, cofondateur & CEO de Thunderbit. J’ai passé des années dans le SaaS, l’automatisation et l’IA — pour que tu n’aies pas à le faire.

Essayez l’Extracteur Web IA
Shuai Guan
Shuai Guan
Co-founder/CEO @ Thunderbit. Passionate about cross section of AI and Automation. He's a big advocate of automation and loves making it more accessible to everyone. Beyond tech, he channels his creativity through a passion for photography, capturing stories one picture at a time.
Topics
Scrapy PythonExtracteur PythonTutoriel Scrapy
Essayez Thunderbit
Utilisez l’IA pour extraire des pages web sans effort.
Version gratuite disponible
Prise en charge du français
Sommaire
Extraire des données avec l’IA
Transférez facilement vos données vers Google Sheets, Airtable ou Notion
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week