Un outil d'extraction de contenus de sites internet
Fonctionnel pour un usage personnel
Jessy Piacentini a développé un outil combinant automatisation de navigateur et scripts Python pour extraire le contenu de pages de sites internet construites avec des outils qui ne proposent pas de fonction d'export native. Ce projet est distinct de MediaExtract, qui concerne des expérimentations séparées autour de l'extraction multimédia.
Ce que l'outil extrait réellement
L'outil récupère, pour chaque page traitée, le contenu textuel et la structure HTML, les métadonnées de référencement (titre, description, URL canonique), les balises Open Graph, ainsi que les données structurées Schema.org présentes sur la page. Il identifie également les couleurs de fond appliquées à chaque section visuelle, afin de préserver l'apparence d'origine lors de la reconstruction.
Une méthode en deux temps
La première étape repose sur un script exécuté directement dans le navigateur, qui lit le contenu affiché — y compris le contenu chargé dynamiquement après le défilement de la page — et l'encode pour le transmettre hors du navigateur. La seconde étape, en Python, décode ces données et reconstruit une page HTML autonome, propre et indépendante de l'outil d'origine utilisé pour construire le site.
Formats d'export
Les données extraites sont d'abord exportées au format JSON, un format intermédiaire qui conserve l'ensemble des informations collectées avant la reconstruction finale en pages HTML autonomes.
Limites actuelles de l'outil
Cet outil a été conçu pour un cas d'usage précis : les sites construits avec un constructeur affichant son contenu dans des blocs chargés dynamiquement. Il nécessite une automatisation du défilement de page pour déclencher le chargement de l'ensemble du contenu avant extraction, et une intervention manuelle pour vérifier la fidélité du résultat. Il n'est pas conçu, à ce stade, comme un outil générique capable de traiter n'importe quel site sans adaptation, et n'est pas distribué publiquement.
Un outil né d'un besoin concret
Ce projet illustre la méthode de Jessy Piacentini en matière d'automatisation : partir d'un problème réel et construire l'outil le plus direct pour le résoudre, plutôt que de développer une solution généraliste par anticipation.
Déclencher le chargement du contenu avant de l'extraire
Certaines pages n'affichent leur contenu complet qu'après un défilement effectif, car les sections sont chargées progressivement au fur et à mesure qu'elles deviennent visibles. L'outil simule ce défilement avant de lancer l'extraction, afin de s'assurer que l'ensemble du contenu de la page est bien présent au moment où il est lu — une étape indispensable pour ne pas obtenir une extraction partielle.
Transférer de grandes quantités de données de façon fiable
Le contenu encodé d'une page volumineuse peut représenter une quantité de données trop importante pour être transférée d'un seul bloc. L'outil découpe alors cette donnée en plusieurs fragments transmis successivement, avant de les réassembler côté Python pour reconstituer le contenu complet — une approche technique qui privilégie la fiabilité du transfert sur sa simplicité apparente.
Une base pour d'autres pages à venir
Jessy Piacentini envisage de réutiliser cette méthode pour d'autres pages ou d'autres sites construits avec des outils similaires, ce qui en ferait progressivement un outil réellement réutilisable plutôt qu'une solution ponctuelle.
