? 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 2024 - Thib BV | Brugstraat 18 | 2812 Mechelen | Belgique | VAT BE 0749 716 760\n"]}
Comment extraire rapidement et efficacement des informations significatives de sites web ? L'extraction manuelle des données prend beaucoup de temps. Vous pouvez utiliser le web scraping, une méthode automatisée d'acquisition de données non tabulaires ou mal structurées à partir de sites web. Ensuite, vous pouvez convertir ces données dans un format structuré et utilisable, tel qu'une feuille de calcul.
Comment extraire rapidement et efficacement des informations significatives de sites web ? L'extraction manuelle des données prend beaucoup de temps. Vous pouvez utiliser le web scraping, une méthode automatisée d'acquisition de données non tabulaires ou mal structurées à partir de sites web. Ensuite, vous pouvez convertir ces données dans un format structuré et utilisable, tel qu'une feuille de calcul ou un fichier .csv.
Le web scraping permet d'archiver des données et de suivre les changements de données en ligne. Les entreprises l'utilisent largement à différentes fins. Par exemple, les magasins en ligne l'utilisent pour récupérer les éléments de prix de leurs concurrents et les pages accessibles au public. Ils utilisent ensuite ces informations pour ajuster leurs prix. Une autre pratique courante du web scraping est le contact scraping, dans lequel les organisations collectent des données personnelles telles que des numéros de téléphone ou des adresses électroniques à des fins de marketing.
Pourquoi faut-il extraire de grandes quantités d'informations des sites web ? Pour le comprendre, examinons les applications suivantes du web scraping.
Vous pouvez extraire des données de sites web en suivant les étapes ci-dessous.
Les bibliothèques que nous pouvons utiliser pour le web scraping en Python sont les suivantes :
Pandas - Pandas est utilisé pour manipuler et analyser les données. Vous pouvez utiliser cette bibliothèque pour extraire les données et les stocker dans le format requis.
Beautiful Soup - Il s'agit d'un paquetage Python pour analyser les documents HTML et XML. Il crée des arbres d'analyse qui permettent d'extraire facilement des données de sites web.
Requests - Il s'agit d'une bibliothèque HTTP simple.
Nous utiliserons ce site pour extraire le nombre de cas COVID. Ensuite, nous analyserons les données et créerons des visualisations.
Vous pouvez importer des requêtes et BeautifulSoup en Python pour faire du web scraping, comme indiqué ci-dessous.
import requests
from bs4 import BeautifulSoup
Spécifiez l'URL du site web à partir duquel vous devez extraire les données. Vous devez utiliser la méthode requests.get() pour envoyer une requête GET à l'URL spécifiée. De plus, vous devez créer un constructeur BeautifulSoup qui prendra les deux arguments de type chaîne comme indiqué dans le code ci-dessous.
url = 'https://www.worldometers.info/coronavirus/countries-where-coronavirus-has-spread/'
page = requests.get(url)
soup = BeautifulSoup(page.text, 'html.parser')
data = []
Vous pouvez récupérer chaque élément de la table URL'sURL en utilisant la méthode soup.find_all(). Elle renvoie un objet qui offre un accès indexé aux occurrences trouvées et peut être imprimé à l'aide d'une boucle for ou while.
data_iterator = iter(soup.find_all('td'))
Vous pouvez utiliser une boucle while True qui se répète jusqu'à ce qu'il y ait des données disponibles dans l'itérateur.
while True:
try:
country = next(data_iterator).text
confirmé = next(data_iterator).text
décès = next(data_iterator).text
continent = next(data_iterator).text
Pour les colonnes "confirmés" et "décès", veillez à supprimer les virgules et à convertir en int.
data.append((
pays,
(confirmed.replace(', ', '')),
(deaths.replace(',', '')),
continent
))
sauf StopIteration :
break
Lorsque le nombre d'éléments restant à itérer est égal à zéro, l'erreur StopIteration est levée.
Vous pouvez extraire les données du site web après avoir exécuté le code ci-dessus. Vous devez créer un cadre de données Pandas pour analyser les données plus en détail. Dans le code ci-dessous, nous avons trié les données en fonction du nombre de cas COVID confirmés.
Importez la bibliothèque pandas pour créer un cadre de données.
data.sort(key = lambda row : row[1], reverse = True)
import pandas as pd
df = pd.DataFrame(data,columns=['country','Number of cases','Deaths','Continent'],dtype=float)
df.head()
df['Nombre de cas'] = [x.replace(',', '') for x in df['Nombre de cas']]]
df['Nombre de cas'] = pd.to_numeric(df['Nombre de cas'])
df
Vous obtiendrez le résultat suivant :
Pour obtenir des informations sur le Dataframe, utilisez df.info().
df.info()
Nous allons créer une nouvelle colonne nommée Death_rate comme indiqué ci-dessous.
dff = df.sort_values(by ='Nombre de cas',ascending = False)
dff['Taux de mortalité'] = (dff['Décès']/dff['Nombre de cas'])*100
dff.head()
Le résultat est le suivant.
Un serveur proxy vous permet d'utiliser une adresse IP unique pour accéder aux informations que vous souhaitez récupérer. De cette manière, le site web ne voit pas votre adresse IP réelle, ce qui vous permet de récupérer des données de manière anonyme. Vous devez utiliser proxys pour le web scraping pour les raisons suivantes.
Vous pouvez utiliser les deux sites proxys ci-dessous pour extraire des données de sites web.
Vous savez que la visualisation de données est la représentation graphique de données ou d'informations. Vous pouvez utiliser des outils visuels tels que des diagrammes, des cartes et des graphiques comme moyen accessible de comprendre les données représentées. Voyons comment nous pouvons visualiser les données extraites de ce site web à l'aide d'outils de visualisation de données.
Vous devez importer les bibliothèques suivantes pour visualiser les données, comme indiqué ci-dessous.
import seaborn as sns
import matplotlib.pyplot en tant que plt
from pylab import rcParams
Vous pouvez tracer un diagramme de paires pour mettre en évidence des relations par paires dans un ensemble de données. Vous pouvez facilement le mettre en œuvre à l'aide du code ci-dessous et identifier les tendances dans les données en vue d'une analyse ultérieure.
rcParams['figure.figsize'] = 15, 10
from matplotlib.pyplot import figure
figure(num=None, figsize=(20, 6), dpi=80, facecolor='w', edgecolor='k')
sns.pairplot(dff,hue='Continent')
Vous obtiendrez le résultat suivant.
Vous pouvez tracer un diagramme à barres qui présente les données catégorielles sous forme de barres rectangulaires et compare les valeurs des différentes catégories dans les données.
sns.barplot(x = 'pays',y = 'Nombre de cas',data = dff.head(10))
Le résultat est le suivant.
Vous pouvez comprendre la relation entre des valeurs numériques à l'aide d'un diagramme de dispersion. Il utilise des points pour représenter la relation entre les variables.
sns.scatterplot(x = "Nombre de cas", y = "Décès",hue = "Continent",data = dff)
Le résultat est le suivant.
Dans le code ci-dessous, nous regrouperons les données par continent et les trierons en fonction du nombre de cas COVID.
dfg = dff.groupby(by = 'Continent',as_index = False).agg({'Number of cases':sum,'Deaths':sum})
dfgg = dfg[1:]
df1 = dfgg.sort_values(by = 'Number of cases',ascending = False)
df1['Death_rate'] = (df1['Deaths']/df1['Number of cases'])*100
df1.sort_values(by = 'Death_rate',ascending = False)
Le résultat est le suivant.
Nous allons maintenant tracer un diagramme à barres entre "Continent" et "Taux de mortalité", comme indiqué ci-dessous.
sns.barplot(x = 'Continent',y = 'Taux de mortalité',data = df1.sort_values(by = 'Taux de mortalité',ascending = False))
Le résultat est le suivant.
Ce diagramme à barres montre que, parmi tous les pays, c'est en Amérique du Sud que le taux de mortalité est le plus élevé et en Australie qu'il est le plus bas.
Installez texttable pour créer un simple tableau ASCII. Ensuite, importez-le en tant que tt.
!pip install texttable
import texttable as tt
Vous devez créer un objet tableau de texte comme indiqué ci-dessous. Vous devez ajouter une ligne vide au début du tableau pour les en-têtes et aligner les colonnes.
table = tt.Texttable()
table.add_rows([(None, None, None, None)] + data) table.set_cols_align(('c', 'c', 'c', 'c')) # 'l' indique la gauche, 'c' indique le centre et 'r' indique la droite
table.header((' Pays ', ' Nombre de cas ', ' Décès ', ' Continent '))
print(table.draw())
Ici, la sortie représente certaines lignes du tableau comme suit.
Le web scraping permet d'extraire rapidement et efficacement de grandes quantités de données à partir de sites web. Vous pouvez convertir les données non structurées extraites dans un format utilisable tel qu'un fichier .csv. Nous avons vu que nous pouvons extraire les données du web en utilisant deux modules, à savoir Pandas et BeautifulSoup. proxys vous permet d'extraire les données du web de manière anonyme. Vous pouvez utiliser soit le centre de données, soit le site résidentiel proxys pour l'extraction de données sur le web. Les proxys résidentiels sont plus fiables mais plus chers que les proxys des centres de données. En outre, nous pouvons analyser les données pour en tirer des informations pertinentes en fonction de nos besoins. Dans cet article, nous avons analysé les données à l'aide d'outils de visualisation des données tels que les diagrammes à barres, les diagrammes à paires et les diagrammes de dispersion.