Le screen scraping est la pratique qui consiste à lire les données produites par l'affichage d'une application, les pixels et le texte qu'un humain verrait à l'écran, et à les transférer ailleurs. Au lieu de demander à un système ses données via une interface documentée, on prend les données comme une personne les lirait : à partir de l'écran. Cela peut sembler primitif, et dans un sens ça l'est. C'est pourtant encore le seul moyen d'extraire des données de nombreux systèmes qui n'ont pas d'autre porte.
Cet article explique ce que signifie réellement le screen scraping, en quoi il diffère du web scraping et de l'extraction de données via une API, et comment il fonctionne en pratique quand l'"écran" est un terminal, une application de bureau héritée ou une page web moderne rendue. Nous verrons où il trouve réellement sa place (systèmes hérités, finance et migration de données), où il échoue, et comment le pratiquer de façon responsable.
Qu'est-ce que le screen scraping ?
Le screen scraping est le processus consistant à collecter l'affichage d'une application et à le transférer dans une autre. Un programme de scraping lit le contenu visible, le texte brut et les valeurs qui apparaissent dans l'interface utilisateur, et les analyse dans son propre modèle structuré pour qu'un second système puisse les utiliser.
La caractéristique définissante est que le screen scraping fonctionne à partir de la couche de présentation. Il ne demande pas au système source un export propre ni n'interroge sa base de données. Il prend ce qui est à l'écran, des caractères dans une fenêtre de terminal, des champs dans un formulaire de bureau, du texte et des tableaux dans un navigateur, et reconstruit les données sous-jacentes à partir de cette surface. L'application source n'a généralement aucune idée qu'elle est lue de cette façon, car de son point de vue rien d'inhabituel ne s'est produit : elle a simplement affiché son écran normal.
Historiquement, le terme vient exactement de cet acte littéral. Il y a des décennies, des programmes lisaient les cellules de caractères directement dans le tampon d'écran d'un terminal mainframe pour capturer ce qu'affichait une application à écran vert. Les cibles ont changé, mais l'idée est restée : quand un système ne vous remettra jamais qu'un affichage rendu, on scrape cet affichage.
Screen scraping vs web scraping
Les gens utilisent "screen scraping" et "web scraping" de façon interchangeable, et ces termes se recoupent, mais ils ne désignent pas la même chose. La façon la plus claire de les distinguer est de voir ce que chacun lit.
Le web scraping lit la structure. Il travaille sur le balisage d'une page web, le HTML, le DOM, les éléments individuels, et extrait des champs précis en les ciblant : un prix dans un élément, un titre de produit dans un autre, une liste de liens, une adresse e-mail dans le corps de la page. Il s'intéresse à la source sous-jacente de la page, pas seulement à son apparence. La plupart de ce que nous couvrons sur ce blog, des sélecteurs XPath et CSS à l'analyse HTML avec BeautifulSoup, est du web scraping en ce sens.
Le screen scraping lit la sortie. Il capture le résultat rendu, les données visuelles affichées à l'écran, et fonctionne bien avec des sources qui n'ont aucun balisage utile : un terminal, une fenêtre de bureau, un rapport aplati, une image de page. Quand la cible est une page web, les deux se confondent, car un écran de navigateur rendu est aussi un document HTML. Mais la perspective diffère. Le web scraping demande "quel élément contient cette valeur ?" Le screen scraping demande "que montre l'écran, et comment le relire en données ?"
| Dimension | Screen scraping | Web scraping |
|---|---|---|
| Lit depuis | L'affichage rendu (IU, terminal, image) | Le balisage source de la page (HTML/DOM) |
| Source typique | Applications héritées, mainframes, IU de bureau, pages web | Sites web et applications web |
| Cibles | Tout ce qui est à l'écran, y compris les graphiques et visuels | Des éléments et champs précis par sélecteur |
| Nécessite souvent | OCR ou capture de texte depuis la surface | Un analyseur HTML et des sélecteurs |
| Se brise quand | La mise en page ou la position à l'écran change | Le balisage ou la structure des éléments change |
En résumé : tout scraping web d'une page rendue est une forme de screen scraping, mais beaucoup de screen scraping n'a rien à voir avec le web.
Screen scraping vs accès API
Si le screen scraping consiste à lire des données depuis l'affichage, l'accès via API est l'inverse : demander directement au système ses données. Une API (interface de programmation d'application) est un point de terminaison documenté qu'un système expose intentionnellement, renvoyant des données propres et structurées comme du JSON, avec des champs stables et un contrat qui vous indique ce que vous pouvez attendre.
Quand une API existe, elle surpasse presque toujours le screen scraping. Les données arrivent déjà structurées, vous ne devinez pas la mise en page, et le fournisseur vous a indiqué que la forme resterait cohérente. Le screen scraping est fragile en comparaison : il dépend de la façon dont l'écran se trouve être arrangé, de sorte qu'une refonte cosmétique ou une colonne déplacée peut briser une intégration qui fonctionnait du jour au lendemain.
La raison pour laquelle le screen scraping persiste est simple. De nombreux systèmes n'ont pas d'API, ou aucune que vous êtes autorisé à utiliser. Une application mainframe vieille de 30 ans, un outil interne que personne ne reconstruira, un portail fournisseur qui affiche seulement une page web : ces systèmes n'exposent qu'un écran. Quand la seule interface qu'un système offre est son affichage, lire cet affichage n'est pas un hack, c'est l'intégration. Le screen scraping est ce à quoi vous recourez précisément quand la porte plus propre n'existe pas.
Comment fonctionne le screen scraping
Quelle que soit la façon dont la cible est rendue, le screen scraping suit le même arc général : mettre l'écran devant vous, capturer ce qu'il montre, transformer cette capture en données structurées, et la remettre au système suivant. Les mécaniques diffèrent selon la source.
Lire les écrans hérités et de terminal
Pour les applications mainframe et terminal, l'outil se connecte comme le ferait le client original, souvent via un protocole terminal, et lit le texte qui remplit la grille de caractères de l'écran. Parce que les données sont déjà du texte disposé en positions fixes, le scraper peut cartographier des régions connues de l'écran, "le numéro de compte se trouve à la ligne 6, colonnes 12 à 23", et extraire chaque champ par position. C'est rigide mais fiable, tant que la mise en page de l'écran reste stable.
Lire les interfaces de bureau
Pour les applications de bureau, un scraper lit les valeurs des éléments d'interface à l'écran : le contenu d'une zone de texte, d'un libellé, d'une cellule de grille. Quand les valeurs peuvent être lues directement comme du texte, c'est suffisant. Quand elles ne le peuvent pas, par exemple des données intégrées dans une image ou un contrôle dessiné sur mesure, l'outil capture la région sous forme d'image et applique l'OCR dessus.
Lire les écrans web modernes
Pour une page web moderne, l'"écran" est ce qu'un navigateur affiche après avoir chargé le HTML et exécuté le JavaScript de la page. Cela a son importance : une grande partie des sites actuels construisent leur contenu visible dans le navigateur, de sorte que le HTML brut obtenu par une requête simple est quasi vide, et les données réelles n'apparaissent qu'une fois la page rendue. Pour scraper cet écran, vous devez afficher la page comme le ferait un navigateur, puis lire le résultat. C'est le même problème que l'exploration des sites web chargés en JavaScript, et c'est pourquoi un vrai moteur de navigateur, avec ou sans interface graphique, se trouve au cœur du screen scraping moderne sur le web.
OCR : reconvertir les pixels en texte
Quand les données n'existent que sous forme d'image, un formulaire scanné, un graphique, une capture d'écran, la reconnaissance optique de caractères (OCR) effectue la conversion. L'OCR lit les formes des caractères dans une image et renvoie du texte lisible par machine, que le scraper peut ensuite analyser et stocker. L'OCR est le pont qui permet au screen scraping de traiter des sources où il n'y a genuinement pas de texte sous-jacent à saisir, seulement une image de celui-ci.
Une fois les données capturées et analysées, la dernière étape consiste à les écrire dans un format utilisable : une feuille de calcul, un payload JSON, une ligne de base de données, un PDF, selon ce qu'attend le système destinataire. Ce transfert, de l'affichage d'un autre vers votre entrepôt structuré, est toute la raison d'être de l'exercice.
Quand l'écran que vous devez lire est une page web moderne, la partie difficile est de la faire s'afficher de façon fiable sans être bloqué. La Crawling API charge la page dans un vrai navigateur, exécute son JavaScript, fait tourner les IP et résout les CAPTCHA, puis renvoie le résultat entièrement rendu, afin que vous puissiez scraper l'écran comme le verrait un vrai visiteur, sans avoir à construire et surveiller une infrastructure de navigateurs vous-même.
À quoi sert le screen scraping
Le screen scraping apparaît partout où des données sont enfermées derrière un affichage sans issue plus propre. Quelques schémas représentent l'essentiel des usages réels.
Systèmes hérités et modernisation
C'est le terrain de prédilection du screen scraping. Les entreprises gèrent des informations critiques dans des applications héritées construites sur une technologie dépassée : terminaux mainframe, vieux outils de bureau, systèmes dont les développeurs d'origine sont depuis longtemps partis. Les données qu'ils contiennent alimentent encore les opérations quotidiennes, mais il n'y a pas d'API et pas d'export. Le screen scraping lit ces écrans hérités et achemine leurs données vers des interfaces modernes, permettant à une nouvelle interface ou un nouveau service de consommer d'anciennes données sans que quiconque réécrive le système d'origine. C'est souvent le seul pont pratique entre un système qui ne peut pas changer et un logiciel qui a besoin de ses données.
Finance et banque
Les services financiers s'appuient sur le screen scraping quand des données de compte se trouvent derrière un portail plutôt qu'une API ouverte. Avec l'autorisation explicite et les identifiants du client, un outil d'agrégation peut se connecter à un site bancaire, lire les soldes et transactions affichés à l'écran, et les intégrer dans une application de budgeting, un système comptable ou le flux de souscription d'un prêteur. Ce schéma d'agrégation de comptes a alimenté une génération de fintechs avant l'existence des API open banking, et il comble encore les lacunes là où ces API n'arrivent pas. L'impératif ici est le consentement : cela n'arrive que parce que le titulaire du compte l'a autorisé.
Migration de données et transitions de site web
Quand une entreprise quitte une ancienne plateforme, les données doivent la suivre. Si le système source ne peut pas exporter proprement, le screen scraping lit les enregistrements directement depuis son interface pour qu'ils puissent être chargés dans le nouveau. La même logique s'applique aux transitions de sites web : déplacer du contenu d'un site ancien et étendu vers une mise en page moderne est beaucoup plus rapide quand un scraper exporte ce qu'affichent les anciennes pages plutôt que de demander à quelqu'un de le retaper. Le screen scraping transforme une migration manuelle fragile en une migration reproductible.
Agrégation et comparaison de prix
Les sites de comparaison et les agrégateurs de données lisent le même type de valeur depuis de nombreuses sources et les alignent côte à côte. Un service de comparaison de prix, par exemple, lit le prix affiché par un produit donné chez plusieurs revendeurs afin qu'un acheteur, ou un intermédiaire gérant des stocks en volume, puisse voir qui est le moins cher. Quand ces sources sont des boutiques web modernes, c'est clairement du territoire de web scraping e-commerce, et un point de terminaison structuré qui renvoie des champs analysés vous évite de re-dériver la mise en page de chaque revendeur à la main.
Les avantages du screen scraping
Pour les situations auxquelles il convient, le screen scraping offre quelques avantages concrets.
- Il fonctionne quand rien d'autre ne le fait. Le principal avantage est la portée : il extrait des données de systèmes qui n'exposent ni API ni export. Pour une application héritée, c'est la différence entre utiliser les données et ne pas les avoir du tout.
- Il est rapide à mettre en place. Parce qu'il lit une interface existante, vous n'avez pas besoin que le propriétaire du système source construise quoi que ce soit pour vous. Vous pointez un scraper sur l'écran et commencez à collecter, ce qui est souvent bien plus rapide que de commander une nouvelle intégration.
- Il est rentable. Un script de scraping ou une API de scraping managée peut faire un travail qui nécessiterait autrement une saisie manuelle ou un projet d'intégration sur mesure, automatisant un transfert répétitif pour une fraction du coût.
- Il est précis et cohérent. La capture automatisée lit les mêmes champs de la même façon à chaque fois, ce qui élimine les fautes de frappe et les doublons qui s'introduisent dans la re-saisie manuelle et maintient la qualité des données stable sur de grands volumes.
- Il met à l'échelle le travail fastidieux. Une fois qu'un flux de screen scraping est défini, il s'exécute sur de nombreux enregistrements ou de nombreuses pages sans que quelqu'un surveille chaque étape, libérant les gens du copier-coller répétitif.
Limites et risques
Le screen scraping est genuinement utile, mais c'est l'option à laquelle on recourt quand les meilleures sont absentes, et il comporte de vrais inconvénients qu'il vaut la peine de nommer.
Il est fragile. Parce qu'il dépend de la mise en page d'un affichage, le screen scraping se brise quand cet affichage change. Déplacez un champ, remodelz une page, réordonnez un écran terminal, et un scraper fonctionnel peut commencer à renvoyer des résultats incohérents sans erreur. Tout ce qui lit une surface rendue hérite de cette fragilité, ce qui est pourquoi les intégrations de screen scraping nécessitent une maintenance continue qu'une API stable n'exigerait pas.
L'OCR est imparfaite. Quand vous vous fiez à l'OCR pour lire des valeurs depuis des images, vous héritez de son taux d'erreur. Les images de mauvaise qualité, les polices inhabituelles et les mises en page serrées produisent des erreurs de lecture, de sorte que tout flux basé sur l'OCR nécessite une validation plutôt qu'une confiance aveugle dans la sortie.
Les cibles web modernes résistent. Scraper l'écran d'un site web contemporain signifie faire face aux mêmes défenses que tout scraper rencontre : détection de bots, limitation de débit basée sur l'IP, et CAPTCHA. Un scraper naïf est bloqué rapidement, ce qui est pourquoi une rotation d'IP robuste et un vrai moteur de rendu comptent tant quand l'écran est une page web.
Les données sensibles augmentent les enjeux. Beaucoup de cas d'usage du screen scraping, la finance surtout, touchent des informations personnelles ou confidentielles. Cela rend le consentement, la sécurité et la gestion soigneuse non pas des enjolivements optionnels, mais le cœur de la bonne pratique.
Scraper de façon responsable
Quel que soit l'écran, scrapez avec soin. Respectez les conditions d'utilisation de chaque source et son fichier robots.txt, et limitez-vous aux données que vous êtes autorisé à accéder, c'est-à-dire les informations publiques ou, comme dans le cas bancaire, les données que le titulaire du compte vous a explicitement autorisé à lire en son nom. Gardez des taux de requêtes raisonnables pour ne pas dégrader le service que vous lisez, et traitez toute donnée personnelle ou financière que vous capturez avec la sécurité qu'elle mérite. Le screen scraping responsable consiste moins à trouver des contournements habiles qu'à rester dans les limites que la source a établies.
Points clés
- Le screen scraping lit l'affichage. Il capture la sortie rendue d'une application, l'interface, un terminal, une image, et la retransforme en données structurées pour un autre système.
- Il diffère du web scraping par ce qu'il lit. Le web scraping cible le balisage et les éléments d'une page ; le screen scraping lit la surface visible, y compris les sources sans balisage utile.
- Une API le surpasse quand elle existe. Les API renvoient des données propres, stables et structurées intentionnellement ; le screen scraping est ce à quoi on recourt quand cette porte n'est pas offerte.
- Ses forces sont la portée, la rapidité et le coût. Il extrait des données des systèmes hérités et financiers, alimente les migrations de données et automatise les transferts répétitifs de façon économique et précise.
- Sa faiblesse est la fragilité. Les changements de mise en page, les erreurs OCR et les défenses anti-bots le menacent tous, donc scrapez de façon responsable et dans les conditions de la source.
Foire aux questions
Le screen scraping est-il la même chose que le web scraping ?
Pas tout à fait. Le web scraping extrait des champs précis depuis la structure HTML d'une page, tandis que le screen scraping lit l'affichage rendu lui-même et fonctionne sur des sources au-delà du web, comme les terminaux et les applications de bureau. Quand la cible est une page web, ils se recoupent fortement, car un écran de navigateur rendu est aussi un document HTML, mais le screen scraping est la notion plus large de lecture de données depuis une surface.
Pourquoi utiliser le screen scraping plutôt qu'une API ?
Principalement parce qu'il n'existe pas d'API utilisable. Les mainframes hérités, les anciens outils de bureau et de nombreux portails fournisseurs n'exposent qu'un écran, de sorte que lire cet écran est le seul moyen d'obtenir leurs données. Quand une API documentée est disponible, c'est presque toujours le meilleur choix, car elle renvoie des données structurées qui ne se brisent pas à chaque refonte de l'interface.
Le screen scraping nécessite-t-il l'OCR ?
Seulement quand les données n'existent que sous forme d'image. Si les valeurs à l'écran peuvent être lues comme du texte, des caractères de terminal, du contenu de page web, des champs d'interface, vous analysez le texte directement. L'OCR intervient quand vous devez récupérer du texte depuis une image, comme un formulaire scanné, un graphique ou une capture d'écran sans couche de texte sous-jacente.
Le screen scraping est-il encore pertinent en 2026 ?
Oui. Les API ont remplacé beaucoup d'intégrations, mais d'énormes quantités de données critiques résident encore dans des systèmes hérités sans autre interface, et les sites web modernes doivent encore être rendus et lus comme un écran. Tant que les systèmes n'exposent les données que via un affichage, le screen scraping reste le pont pratique vers elles.
Comment faire du screen scraping sur un site web moderne sans être bloqué ?
Vous devez afficher la page dans un vrai navigateur pour que son JavaScript s'exécute, et vous devez ressembler à un vrai visiteur : des IP résidentielles tournantes, des taux de requêtes sensés et la gestion des CAPTCHA. Construire cela soi-même est complexe, ce qui explique pourquoi de nombreuses équipes utilisent un service managé comme la Crawling API pour récupérer la page rendue, ou la Crawling API quand elles veulent les champs analysés automatiquement.
Le screen scraping est-il légal ?
Cela dépend de ce que vous scrapez et comment. Lire des données publiques, ou des données que le propriétaire vous a explicitement autorisé à accéder, dans le respect des conditions d'utilisation d'un site et de son fichier robots.txt, à un rythme raisonnable, est la base responsable. Les données sensibles et personnelles, la finance surtout, exigent le consentement et une gestion soigneuse, donc vérifiez les conditions de la source et vos obligations avant de commencer.
Crawlez n'importe quel site à grande échelle, sans combattre l'infrastructure.
Crawlbase gère les proxies, les empreintes et les CAPTCHA afin que votre équipe livre des pipelines de données au lieu de maintenir la plomberie de crawl. 1 000 requêtes gratuites, sans carte requise.
