? Voici les possibilités qui s'offrent à vous :","Crunchbase","A propos de nous","Merci à tous pour votre formidable soutien !","Liens rapides","Programme d'affiliation","Prime","ProxyScrape essai premium","Vérificateur de procuration en ligne","Types de mandataires","Pays mandataires","Cas d'utilisation du proxy","Important","Politique en matière de cookies","Clause de non-responsabilité","Politique de confidentialité","Conditions d'utilisation","Médias sociaux","Facebook","LinkedIn","Twitter","Quora","Télégramme","Discord","\n Copyright 2025 - Thib BV | Brugstraat 18 | 2812 Mechelen | Belgium | VAT BE 0749 716 760\n"]}
Le web scraping est devenu une compétence essentielle pour les développeurs Python, les analystes de données et tous ceux qui travaillent avec des ensembles de données. Lorsqu'il s'agit de données structurées et riches, les tableaux que l'on trouve sur les sites web sont souvent des mines d'or d'informations. Que vous cherchiez sur le web des catalogues de produits, des statistiques sportives ou des données financières, la possibilité d'extraire et d'enregistrer des données de tableaux à l'aide de Python est un outil inestimable.
Ce guide pratique vous accompagne pas à pas dans le processus de récupération de tableaux à partir de sites web en utilisant Python. À la fin, vous saurez comment utiliser des bibliothèques populaires comme requests, Beautiful Soup et même pandas pour accéder aux données des tableaux et les stocker dans des formats réutilisables comme les fichiers CSV.
Avant d'entrer dans les détails techniques, voici ce dont vous aurez besoin pour suivre la procédure :
Nous allons utiliser la commande pip pour installer les bibliothèques nécessaires. Exécutez simplement la commande suivante dans votre terminal pour terminer l'installation :
pip install requests beautifulsoup4 pandas
La première étape de tout projet de web scraping consiste à analyser la structure du site web cible. Dans cet exemple, nous allons récupérer les données d'un exemple de site web qui présente un tableau affichant les classements des équipes de hockey. Vous trouverez ci-dessous un aperçu du tableau :
Voici comment ce tableau apparaît dans la structure HTML.
La première étape consiste à récupérer la page web que vous voulez scraper. Nous allons utiliser la bibliothèque requests pour envoyer une requête HTTP et récupérer le contenu HTML du site web fictif que nous utilisons pour obtenir le contenu du tableau.
url = "https://www.scrapethissite.com/pages/forms/"
response = requests.get(url)
if response.status_code == 200:
print("Page fetched successfully!")
html_content = response.text
else:
print(f"Failed to fetch the page. Status code: {response.status_code}")
exit()
En HTML, un tableau est une manière structurée de présenter des données en lignes et en colonnes, comme dans une feuille de calcul. Les tableaux sont créés à l'aide de la fonction <table>
et leur contenu est divisé en lignes (<tr>
) et les cellules (<td>
pour les cellules de données ou <th>
pour les cellules d'en-tête). Voici une brève description de la structure d'un tableau :
<table>
il sert de conteneur à toutes les lignes et cellules.<tr>
(ligne du tableau) représente une tranche horizontale du tableau.<td>
contiennent des valeurs de données individuelles (ou <th>
pour les en-têtes). Par exemple, dans ce script, nous localisons le fichier <table>
avec une classe spécifique (class="table"
) et extraire ses lignes et ses cellules à l'aide de Une belle soupe. Cela nous permet d'extraire les données de manière systématique et de les préparer pour l'analyse ou la sauvegarde.
soup = BeautifulSoup(html_content, "html.parser")
table = soup.find("table", {"class": "table"})
if not table:
print("No table found on the page!")
exit()
Dans cette étape, nous enregistrerons les données extraites du tableau dans un fichier CSV pour une utilisation ultérieure et nous les afficherons également sous la forme d'un DataFrame pandas afin que vous puissiez voir comment les données sont structurées. L'enregistrement des données au format CSV vous permet de les analyser ultérieurement dans des outils tels qu'Excel, Google Sheets ou Python lui-même.
headers = [header.text.strip() for header in table.find_all("th")]
rows = []
for row in table.find_all("tr", class_="team"):
cells = [cell.text.strip() for cell in row.find_all("td")]
rows.append(cells)
df = pd.DataFrame(rows, columns=headers)
csv_filename = "scraped_table_data_pandas.csv"
df.to_csv(csv_filename, index=False, encoding="utf-8")
print(f"Data saved to {csv_filename}")
Lorsque vous exécutez ce code, pandas crée un fichier nommé données_de_table_raclées.csv
dans votre répertoire de travail, et les données extraites seront imprimées dans la console comme suit :
Nom de l'équipe Année Victoires Défaites OT Défaites Victoire % Buts pour (GF) Buts contre (GA) + / -
0 Boston Bruins 1990 44 24 0.55 299 264 35
1 Buffalo Sabres 1990 31 30 0.388 292 278 14
2 Calgary Flames 1990 46 26 0.575 344 263 81
3 Chicago Blackhawks 1990 49 23 0.613 284 211 73
4 Red Wings de Detroit 1990 34 38 0.425 273 298 -25
Vous trouverez ci-dessous le script Python complet permettant de récupérer les données d'un tableau sur un site web, de les enregistrer dans un fichier CSV et d'afficher les données extraites. Ce script combine toutes les étapes couvertes dans ce guide en un seul flux de travail cohérent.
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = "https://www.scrapethissite.com/pages/forms/"
response = requests.get(url)
if response.status_code == 200:
print("Page fetched successfully!")
html_content = response.text
else:
print(f"Failed to fetch the page. Status code: {response.status_code}")
exit()
soup = BeautifulSoup(html_content, "html.parser")
table = soup.find("table", {"class": "table"})
if not table:
print("No table found on the page!")
exit()
headers = [header.text.strip() for header in table.find_all("th")]
rows = []
for row in table.find_all("tr", class_="team"):
cells = [cell.text.strip() for cell in row.find_all("td")]
rows.append(cells)
df = pd.DataFrame(rows, columns=headers)
csv_filename = "scraped_table_data_pandas.csv"
df.to_csv(csv_filename, index=False, encoding="utf-8")
print(df.head())
print(f"Data saved to {csv_filename}")
Ce guide vous a guidé pas à pas à travers le processus : comprendre la structure du site web, extraire les données et les sauvegarder pour l'analyse. Que vous construisiez des ensembles de données pour la recherche, que vous automatisiez la collecte de données ou que vous exploriez simplement les possibilités du web scraping, la maîtrise de ces techniques vous ouvre un monde d'opportunités.
Lors du scraping, vous pouvez rencontrer des difficultés telles que des interdictions d'IP ou des limites de débit imposées par les sites web. C'est là que proxys devient crucial. proxys vous permet de :
ProxyScrape propose une large gamme de proxys, y compris des proxys résidentiels, premium, dédiés et mobiles, conçus pour le web scraping. Leurs solutions proxy fiables et évolutives peuvent vous aider à gérer des projets de scraping à grande échelle sans interruption, garantissant ainsi une collecte de données efficace et sans heurts.