Dans cet article, vous apprendrez à extraire un tableau de Wikipédia, en transformant le contenu d'une page Web non structurée en un format structuré à l'aide de Python. Couvrant les éléments essentiels, de la compréhension de la structure des tableaux de Wikipédia à l'utilisation des bibliothèques Python pour l'extraction de données, ce guide est votre didacticiel complet pour extraire efficacement et de manière responsable les tableaux de Wikipédia sur le Web.

Si tu veux gratter Wikipédia données, reportez-vous à notre guide sur «Comment récupérer des données de Wikipédia" qui couvre l'extraction de données telles que le titre de la page, les images, etc.

Dans ce guide, nous vous guiderons à travers un didacticiel simple sur le scraping Web des tables Wikipédia uniquement.

Pour extraire le tableau Wikipédia du Web, nous utiliserons BeautifulSoup avec le Crawlbase bibliothèque pour récupérer le contenu HTML.

Structure des tableaux de Wikipédia

Les tableaux de Wikipédia sont structurés à l'aide d'une combinaison de HTML et de wikitexte, ce qui permet une édition visuelle et textuelle. Pour identifier un tableau adapté au scraping, vous pouvez rechercher des fonctionnalités telles que des colonnes triables qui peuvent être organisées par ordre croissant ou décroissant. composants de base d'un tableau Wikipédia comprennent la balise de début du tableau, les légendes, les lignes, les en-têtes et les cellules de données. Ces éléments sont définis à l'aide symboles spécifiques dans le wikitexte, comme « | » pour les séparateurs de cellules et « — » pour les séparateurs de lignes. Le symbole « |+ » est utilisé spécifiquement pour les légendes de tableau, tandis que « ! » désigne les en-têtes de tableau.

Les tableaux de Wikipédia peuvent être stylisés à l'aide de CSS. Des attributs tels que class, style, scope, rowspan et colspan améliorent la présentation visuelle et l'organisation des données, garantissant que le tableau est non seulement informatif mais également accessible. Il est recommandé d'utiliser cours CSS pour le style au lieu des styles en ligne afin de maintenir la cohérence et la clarté entre les différents tableaux. De plus, le classe « wikitable » est souvent utilisé pour appliquer un style standard aux tableaux, les rendant visuellement cohérents dans différents articles.

La compréhension des métadonnées associées aux tables est essentielle pour une extraction efficace des données. Chaque table d'une structure de type base de données relationnelle sur Wikipédia se compose de lignes et de colonnes, chaque ligne étant identifiée par une clé primaire. Les métadonnées peuvent inclure des contraintes sur la table elle-même ou sur des valeurs dans des colonnes spécifiques, ce qui contribue à maintenir l'intégrité et la pertinence des données. grattage de Wikipédia, il est essentiel de prendre en compte ces structures et métadonnées pour extraire avec précision les tableaux de Wikipédia.

Comment extraire un tableau de Wikipédia

Étape 1 : Importation de bibliothèques

Nous importerons les bibliothèques nécessaires à l'extraction du tableau depuis Wikipédia. Cela inclut BeautifulSoup pour l'analyse HTML, Pandas pour la manipulation des données et la classe CrawlingAPI de Crawlbase bibliothèque permettant de faire des requêtes pour récupérer le contenu HTML.

1
2
3
à partir de bs4 importer BeautifulSoup
importer pandas as pd
à partir de base d'exploration importer API d'exploration

Étape 2 : Tableau de scraping Web à partir des pages Wikipédia

Pour extraire un tableau d'une section de Wikipédia en Python, nous devons inspecter la structure HTML de la page Web contenant le tableau. Cela peut être fait en cliquant avec le bouton droit sur le tableau, en sélectionnant « Inspecter » dans le menu contextuel. Cette action révélera le contenu HTML de la page, nous permettant d'identifier les balises à l'intérieur desquelles nos données sont stockées. En règle générale, les données tabulaires en HTML sont incluses dans <table> Mots clés.

Ciblons cette URL qui contient la table que nous souhaitons récupérer. Une fois l'URL identifiée, nous pouvons procéder à l'extraction des données de la table à partir du contenu HTML.

Comment extraire un tableau de Wikipédia

Étape 3 : Récupérer les données du tableau Wikipédia

Ensuite, nous allons initialiser CrawlingAPI pour récupérer les données du tableau de la page Wikipédia. Nous allons transmettre ces données à la fonction scrape_data pour créer un objet BeautifulSoup. Ensuite, nous utiliserons la méthode select_one() pour extraire les informations pertinentes, qui dans ce cas sont les <table> tag. Étant donné qu'une page Wikipédia peut contenir plusieurs tableaux, nous devons spécifier le tableau en passant soit l'attribut « class » soit l'attribut « id » du <table> Étiquette.

Vous pouvez copier et coller le code complet ci-dessous :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
à partir de bs4 importer BeautifulSoup
importer pandas as pd
à partir de base d'exploration importer API d'exploration

def ramper(URL de la page, jeton d'API):
Essai:
api = API d'exploration({'jeton': api_token})

# Obtenir le contenu de la page
réponse = api.get(page_url)

# Vérifiez si la demande a réussi
if réponse['code_d'état']== 200:
# Récupérer des données
impression(f"200 réponse")
retourner scrape_data(réponse)
d'autre:
impression(f"Erreur : {réponse}")
retourner Aucun
sauf Exception as e:
impression(f"Une erreur s'est produite lors de l'exploration : {e}")
retourner Aucun

def gratter_les_données(à un besoin identifié):
Essai:
# Analyser le contenu HTML à l'aide de Beautiful Soup
soupe = BeautifulSoup(réponse['corps'], 'html.parser')

# Trouver la table contenant les données souhaitées
table = soupe.select_one(« .wikitable »)

# Extraire les données de la première table trouvée
if table:
impression(« Table trouvée »)
# Lire la table dans un DataFrame
df = pd.lire_html(str(tableau))
impression(df)

# Vérifiez si des données ont été extraites
if df:
# Enregistrer le DataFrame dans un fichier CSV
df [0].to_csv('wikipedia.csv', indice=Faux)
impression(f"Données du tableau exportées vers wikipedia.csv")
retourner df
d'autre:
impression(« Aucune donnée trouvée dans le tableau. »)
retourner Aucun
d'autre:
impression(« Aucune table trouvée »)
retourner Aucun
sauf Exception as e:
impression(f"Une erreur s'est produite lors de l'extraction des données : {e}")
retourner Aucun

if __nom__ == "__principale__":
# Spécifiez l'URL de la page Wikipédia à récupérer
page_url = 'https://en.wikipedia.org/wiki/List_of_countries_and_dependencies_by_area'
crawlbase_token = 'crawlbase_token'

# Appeler la fonction crawl
crawl(url_page, jeton_crawbase)

Étape 4 : Exécutez le code pour enregistrer dans le fichier CSV

Une fois que vous avez réussi à extraire des données d'une table Wikipédia, il est essentiel de les stocker dans un format structuré. En fonction des exigences de votre projet, vous pouvez choisir de stocker les données aux formats JSON, CSV ou directement dans une base de données. Cette flexibilité permet d'utiliser les données dans diverses applications, allant de l'analyse de données à projets de scraping Web par apprentissage automatique.

Exécutez à nouveau le code en utilisant la commande ci-dessous :

1
python wikipedia_scraper.py

La structure du code nous permettra d'extraire le tableau de la page Wikipédia spécifiée, de le traiter à l'aide de BeautifulSoup et d'enregistrer les données extraites dans un fichier CSV pour une analyse plus approfondie. Voir l'exemple de sortie ci-dessous :

données extraites du tableau Wikipédia

Conclusion

Tout au long de cet article sur l'extraction de données Web à partir d'une table Wikipédia, nous avons parcouru ensemble le chemin depuis la compréhension du principe de base de l'extraction de données Web, en nous concentrant particulièrement sur l'extraction de tables de Wikipédia à l'aide de Python, jusqu'à la configuration de votre environnement et enfin à la transformation des données extraites en un format structuré et propre adapté à l'analyse. Grâce à l'utilisation de puissantes bibliothèques Python comme BeautifulSoup, Requests et Pandas, nous avons réussi à extraire une table de Wikipédia.

Que vous soyez un passionné de données désireux d'explorer en profondeur les ensembles de données ou un professionnel cherchant à enrichir ses prouesses analytiques, les compétences que vous avez acquises ici serviront de base solide. Pour plonger plus profondément dans ce monde fascinant, Découvrez des blogs plus éclairants sur des sujets similaires qui peuvent approfondir votre compréhension et susciter encore plus de créativité dans vos projets. Voici quelques tutoriels écrits qui pourraient vous intéresser :

Web Scrape Wikipédia

Comment récupérer les résultats de Google Scholar

Comment récupérer des données sur Quora

Comment récupérer des sites Web avec ChatGPT

Scraping Web de dramaturges

Comment récupérer les commentaires TikTok

FAQ

  1. Comment puis-je extraire un tableau d'une page Wikipédia ?

Pour extraire un tableau de Wikipédia, accédez simplement à la page Wikipédia qui contient le tableau qui vous intéresse. Saisissez l'URL dans le champ approprié de Crawlbase Crawling API et cliquez sur « Envoyer ». Vous pouvez ensuite copier les données du tableau dans votre presse-papiers ou les télécharger sous forme de fichier CSV.

  1. Est-il permis de récupérer des données de Wikipédia pour mon propre usage ?

Oui, le scraping Web des tables Wikipédia à l'aide de BeautifulSoup et de Python est généralement autorisé, car de nombreux utilisateurs réutilisent le contenu de Wikipédia. Si vous envisagez d'utiliser les textes de Wikipédia dans vos propres publications telles que des livres, des articles, des sites Web, etc., vous pouvez le faire à condition d'adhérer à l'une des licences sous lesquelles le texte de Wikipédia est disponible.

  1. Quelle est la méthode pour copier un tableau directement depuis Wikipédia ?

Pour copier un tableau directement depuis Wikipédia, sélectionnez-le simplement en cliquant dessus et en faisant glisser votre souris dessus, puis faites un clic droit et choisissez « Copier ». Vous pouvez ensuite le coller dans votre document ou dans un tableur à l'aide de l'option « Coller ».