En bref : la plupart des tableaux HTML peuvent être extraits à l'aide d'une seule ligne de pandas.read_html. Lorsque le tableau est paginé, rendu en JavaScript ou comporte des en-têtes fusionnés, passez à Requests + BeautifulSoup ou à un navigateur sans interface graphique comme Playwright. Ce guide vous propose une matrice de décision, du code fonctionnel pour les trois approches, ainsi que les étapes de nettoyage qui transforment les lignes extraites en données prêtes à être traitées.Les données tabulaires sont omniprésentes sur le Web public, des infoboxes de Wikipédia et des outils d'analyse boursière aux statistiques gouvernementales, en passant par les statistiques sportives et les pages de comparaison de produits. Si vous savez extraire des tableaux HTML à l'aide de Python, vous pouvez transformer ces lignes en DataFrames propres, en documents JSON ou en lignes dans votre propre base de données en quelques minutes.
Le hic, c'est que les tableaux HTML constituent une catégorie trompeusement vaste. Certains tableaux s'inscrivent parfaitement dans un <table> un balisage que pandas peut analyser en une seule ligne. D'autres sont des grilles créées manuellement <div>, paginées sur des dizaines de pages, ou qui ne s’affichent qu’après l’exécution de JavaScript dans le navigateur. Une méthode qui fonctionne parfaitement sur Wikipédia peut renvoyer silencieusement zéro ligne sur une application monopage.
Ce guide présente trois approches Python et articule l'ensemble de l'article autour de deux questions pratiques : quelle méthode choisir, et comment faire fonctionner votre scraper lorsque le site modifie son balisage au trimestre prochain ?




