Comment extraire un tableau d’un site web en une seule ligne de code Python ? C’est facile avec cette fonction Pandas !
Si vous travaillez dans la Data Science, vous êtes forcément passé par la librairie Pandas !
C’est la base quand on travaille dans le Big Data. Pandas permet de manipuler facilement des grands ensemble de données.
Mais saviez-vous qu’on pouvait aussi extraire un tableau d’un site web ?
Extraire un tableau d’un site
Pandas n’est pas qu’une simple libraire de manipulation de données.
Effectivement, elle permet aussi de faire du Web Scraping : extraire des informations sur des pages web.
Comment faire ?
Il faut simplement utiliser la fonction read_html() en indiquant l’url de la page web ciblée.
Cette fonction cherche tous les tableaux dans une page, puis créé un DataFrame pour chacun d’entre eux.
Dans l’exemple ci-dessous, on extrait des informations relatifs à l’économie des États-Unis sur Wikipédia :
import pandas as pd
df = pd.read_html("https://en.wikipedia.org/wiki/Economy_of_the_United_States")
Ensuite on peut afficher le résultat :
df[3]
On a bien directement un DataFrame contenant le tableau de la page Wikipédia !
Au fait, si ton objectif est d'apprendre le Deep Learning - j’ai préparé pour toi le Plan d’action pour Maîtriser les Réseaux de neurones.
7 jours de conseils gratuits d’un ingénieur spécialisé en Intelligence Artificielle pour apprendre à maîtriser les réseaux de neurones à partir de zéro :
- Planifie ton apprentissage
- Structure tes projets
- Développe tes algorithmes d’Intelligence Artificielle
J’ai basé ce programme sur des faits scientifiques, des approches éprouvées par des chercheurs mais également mes propres techniques que j'ai conçues au fil de mes expériences dans le domaine du Deep Learning.
Pour y accéder, clique ici :
À présent, on peut revenir à ce que je mentionnais précédemment.
À savoir – Extraire un tableau d’un site
Remarquez qu’on a indiqué l’index ‘3’ pour afficher le DataFrame.
Effectivement la fonction read_html() cherche tous les tags html <table> et en extrait les informations.
Ainsi, on récupère non pas seulement un tableau, mais bien tous les tableaux contenu dans la page.
Dans notre cas, le tableau qui nous intéressé se trouve à l’index ‘3’.
N’hésitez donc pas à parcourir les DataFrames retourner par la fonction read_html pour comprendre où se situe votre tableau !
Parfois, il arrive que les pages web ne soient pas aux normes ou que les données extraites soient corrompues. Attendez vous donc à faire du nettoyage de données une fois que vous appelez cette fonction.
Heureusement pour nous, dans notre exemple les données était déjà conforme !
C’est parce que dans les sites piliers d’internet, comme Wikipédia, les pages sont pleinement structurés.
La librairie pandas n’est pas la seule qui permet de faire du Web Scraping.
BeautifulSoup est une librairie spécialiseé dans ce domaine et permet d’extraire tout type d’informations sur une page web. Des tableaux, aux données non structurées !
On l’utilise en détail dans cet article où l’on analyse de tweets d’Elon Musk par Intelligence Artificielle.
sources :
- Pandas : read_html()
Un dernier mot, si tu veux aller plus loin et apprendre le Deep Learning - j’ai préparé pour toi le Plan d’action pour Maîtriser les Réseaux de neurones.
7 jours de conseils gratuits d’un ingénieur spécialisé en Intelligence Artificielle pour apprendre à maîtriser les réseaux de neurones à partir de zéro :
- Planifie ton apprentissage
- Structure tes projets
- Développe tes algorithmes d’Intelligence Artificielle
J’ai basé ce programme sur des faits scientifiques, des approches éprouvées par des chercheurs mais également mes propres techniques que j'ai conçues au fil de mes expériences dans le domaine du Deep Learning.
Pour y accéder, clique ici :