Livres sur le web scraping et l'extraction de données : tour d'horizon

Sélection de livres sur le web scraping et l'extraction de données : des manuels de scraping en Python aux ouvrages sur les crawlers, les protections anti-bots et les bases de données.

ÉW
Équipe Web-Scraping.fr
Collecte de données pour votre activité
Publié le: 12 février 2025

Que lire pour collecter des données sur le web — et où les stocker ensuite

Le web scraping est une discipline faussement simple à l'entrée et vaste par nature. Pour écrire un scraper fonctionnel, il faudra toucher à HTTP et HTML, aux expressions régulières, au contournement des protections anti-bots, au nettoyage de données « sales » et, enfin, à leur stockage. C'est pourquoi une bonne sélection de lectures n'est pas un seul livre, mais une petite « panoplie » : un noyau consacré au scraping lui-même, complété par des ouvrages sur les sujets connexes. Voici un tour d'horizon de ce qui mérite d'être lu, avec des sections dédiées aux expressions régulières et aux bases de données.

Posons d'emblée l'essentiel : le livre « de référence » de la niche est le même dans toutes les langues — Web Scraping with Python de Ryan Mitchell. C'est la troisième édition, profondément remaniée, qui fait foi. Tout le reste s'organise autour d'elle.


La littérature en anglais

Ici, le choix est plus large et l'on peut composer un ensemble adapté à différentes tâches.

Ryan Mitchell. Web Scraping with Python, 3rd ed. (O'Reilly, 2024)

Le manuel de base. Son point fort : l'autrice reconnaît honnêtement que le scraping se situe au carrefour de nombreux domaines et exige de travailler avec les bases de données, les serveurs web, HTTP, HTML, la sécurité sur Internet, le traitement d'images et la data science — elle propose donc une introduction générale à chacun d'eux. La structure est classique : la première partie couvre la mécanique du scraping (requêtes vers le serveur, traitement des réponses, automatisation), la seconde les outils et scénarios avancés (Scrapy, stockage, documents, langues naturelles, formulaires et connexions, JavaScript, API, reconnaissance d'images, contournement des blocages).

Seppe vanden Broucke & Bart Baesens. Practical Web Scraping for Data Science (Apress)

Accent mis sur la data science. Les auteurs sont des chercheurs en science des données, et le livre offre un guide moderne et concis du scraping, sans passer sous silence les détails importants ni les bonnes pratiques. Un bon choix si, pour vous, le scraping est la première étape d'un projet de data science (constitution d'un jeu de données, nettoyage, préparation à l'analyse).

Python Web Scraping Cookbook (Packt)

Un format de « recettes » pour des tâches concrètes : proxys, captchas, Scrapy, dockerisation, déploiement. Utile comme ouvrage de référence à garder sous la main, pas comme manuel « à partir de zéro ».

Hands-On Web Scraping with Python (Packt)

Orienté pratique, avec l'accent sur l'extraction de données de qualité et les techniques modernes. Complète Mitchell avec des exemples appliqués.

Al Sweigart. Automate the Boring Stuff with Python

Pas entièrement consacré au scraping, mais il contient un excellent chapitre d'introduction et il est disponible gratuitement en ligne. Le point de départ idéal si votre Python est encore fragile.

Réserve. Les livres de Packt et assimilés « périment » plus vite que Mitchell : les bibliothèques et les protections anti-bots évoluent à toute vitesse. Vérifiez toujours le code par rapport à la documentation à jour des bibliothèques.


Les expressions régulières

Les regex sont le cheval de labour du scraping. Réserve importante : pour analyser du HTML, mieux vaut utiliser des parseurs spécialisés (BeautifulSoup, lxml) et garder les regex pour le texte « sale », les logs, la validation et le post-traitement des données déjà extraites. Le canon est ici stable et ne vieillit presque pas.

Jeffrey Friedl. Mastering Regular Expressions, 3rd ed. (O'Reilly, 2006)

La « bible » du sujet. Malgré son âge, elle n'a pas vieilli sur le plan conceptuel : elle explique comment le moteur d'expressions régulières fonctionne de l'intérieur — NFA/DFA, backtracking, optimisation des motifs. C'est un livre exigeant, mais après lui, les regex cessent d'être de la magie.

Jan Goyvaerts & Steven Levithan. Regular Expressions Cookbook, 2nd ed. (O'Reilly, 2012)

Un recueil pratique de solutions prêtes à l'emploi pour différents langages, dont Python. Pratique comme ouvrage de référence à côté de Friedl.

Michael Fitzgerald. Introducing Regular Expressions (O'Reilly)

Une introduction en douceur, si Friedl vous intimide d'entrée de jeu.

Comment lire. Pour la plupart des tâches de scraping, le chapitre sur les expressions régulières du livre de Mitchell suffit, avec le « Cookbook » à portée de main. Tournez-vous vers Friedl lorsque vous butez sur les performances ou des motifs complexes.


Le stockage des données : « 7 bases en 7 semaines » et son contexte

Les résultats du scraping doivent bien être stockés quelque part, et le choix du stockage dépend du type de données :

  • tables plates → base relationnelle (PostgreSQL, MySQL) ;
  • JSON imbriqué → base documentaire (MongoDB, CouchDB) ;
  • relations entre entités → base orientée graphe (Neo4J) ;
  • cache, files d'attente, données temporaires → clé-valeur (Redis).

Il existe des livres spécialisés pour cette question.

Luc Perkins, Eric Redmond, Jim Wilson. Seven Databases in Seven Weeks, 2nd ed. (Pragmatic Bookshelf, 2018)

Le fameux « 7 bases en 7 semaines ». La deuxième édition est un guide exhaustif du monde NoSQL : sept technologies — Redis, Neo4J, CouchDB, MongoDB, HBase, Postgres et DynamoDB. Sa principale valeur pour le spécialiste du scraping est qu'il apprend à raisonner en modèles de données : au fil des chapitres, cinq modèles sont analysés — relationnel, clé-valeur, orienté colonnes, documentaire et graphe — du point de vue des besoins d'applications réelles. C'est exactement la réponse à la question « quel type de données va dans quelle base ».

À propos des éditions : la première comportait un chapitre sur Riak ; dans la seconde, il a été remplacé par un chapitre sur DynamoDB et les exemples ont été mis à jour. Prenez bien la deuxième édition. Réserve : le livre date de 2018, certaines commandes CLI ont pu vieillir — mais comme carte des « genres » de bases de données, il reste le meilleur.

Martin Kleppmann. Designing Data-Intensive Applications (O'Reilly)

Si « 7 bases » répond à la question « quelles bases existent », DDIA répond à « comment choisir en connaissance de cause sans se tirer une balle dans le pied » : réplication, cohérence, formats d'encodage, tolérance aux pannes. L'étalon-or lorsque les volumes de scraping augmentent.

Bruce Tate. Seven Languages in Seven Weeks

Le livre fondateur de la série — c'est de lui que vient le format « sept en sept ». Il n'a pas de rapport direct avec le scraping, il est mentionné pour compléter le tableau.

Des livres ciblés sur une base précise

En complément du scraping, des ouvrages ciblés sur PostgreSQL (une seule base relationnelle suffit souvent pour démarrer) et MongoDB (si vous y déversez du JSON brut) sont utiles. Comme socle minimal sur les requêtes, Alan Beaulieu, Learning SQL fera parfaitement l'affaire.


Comment composer votre sélection

L'ensemble minimal et pragmatique ressemble à ceci :

  1. Le noyau sur le scraping — Mitchell (dans la langue voulue, dernière édition).
  2. Les expressions régulières — le chapitre de Mitchell + le « Regular Expressions Cookbook » comme référence ; Friedl au fur et à mesure de l'approfondissement.
  3. Le stockage — « Seven Databases in Seven Weeks » (2e éd.) pour choisir le modèle de données ; DDIA quand l'échelle grandit ; un livre sur la base concrètement retenue.

La suite dépend de votre stack et du type de données ciblées : tables de produits, textes d'articles, graphes de relations et flux de données exigent des outils de stockage différents et, par conséquent, un ordre de lecture différent.