Données tabulaires et grattage du Web :

Pour l’analyse des données et la science des données, il est parfois nécessaire de collecter des données à partir des pages web. Nous n’obtenons pas de données car dans la plupart des tutoriels ou des blogs, les données tabulaires sont très courantes.

Elles sont contenues dans la plupart des sites web et de nombreuses personnes les utilisent pour améliorer la lisibilité du matériel qu’elles mettent sur leurs blogs et sites web.

À fr.Scrapingpass.com, nous vous montrerons comment recueillir et mettre en œuvre les données qui sont contenues dans ces sites web sous forme de tableaux. Il s’agit d’une forme de grattage très spécifique car nous n’avons besoin des données que sous forme de tableaux.

Nous avons développé la technologie de grattage la plus appropriée et l’avons mise en œuvre en utilisant des robots d’exploration et des robots araignées efficaces. Ces robots et ces crawlers nous ont aidés à gratter même les grands sites comme Amazon.com.

Nos services peuvent donc être considérés comme de premier ordre et extrêmement efficaces. Notre fiabilité se reflète dans le travail glorieux que nous avons accompli avec l’aide de notre technologie.

Le processus de suppression des données sous forme de tableaux :

Pour obtenir les données sous forme de tableau, nous avons besoin de certaines bibliothèques. Voici quelques autres bibliothèques que vous pouvez consulter. Elles sont toutes très efficaces et existent depuis longtemps dans le domaine du grattage.

Ces bibliothèques sont courantes dans la plupart des méthodes de grattage que nous utilisons car elles sont assez faciles à suivre avec le moins de connaissances en programmation. Vous pouvez utiliser d’autres bibliothèques, mais nous les prendrons pour le processus :

  • requests- C’est une bibliothèque open-source qui sera utilisée pour extraire tout le contenu de l’URL donnée. Le contenu est disponible sous forme de texte simple avec tous les liens et les balises HTML. Tout un processus a été décrit ici pour extraire des données à l’aide de requêtes.
  • Parser – Le texte en clair que nous avons obtenu de la réponse à la demande devra être converti du contenu en texte clair en une représentation HTML basée sur le DOM. Nous disposons de nombreuses options basées sur nos besoins, comme HTML.parser, lxml, html5lib. Par défaut, Beautiful Soup utilise XML.
  • BeautifulSoup4- Pour convertir le texte brut en une arborescence HTML, nous aurons besoin de beautifulsoup4. Il peut extraire les données des nœuds HTML et extraire/chercher les nœuds nécessaires de la structure HTML. Vous pouvez vérifier tout le processus d’extraction de données web en utilisant BeautifulSoup dans cet article.

Prenons un exemple :

Nous considérons ici un exemple de scaping afin de vous expliquer le fonctionnement de ce processus. C’est ainsi que nous pouvons dire que le processus est facile et efficace.

Nous allons extraire le tableau de la page web officielle du classement mondial Fifa/coca-cola : “https://www.fifa.com/fifa-world-ranking/ranking-table/men/“. Ce sera facile et rapide et nous utiliserons des codes afin de rendre tout cela très facile à comprendre.

Il faut cependant lire le processus plusieurs fois et les bibliothèques doivent être installées avant de lancer l’ensemble du processus.

Nous devons d’abord récupérer le contenu de la page et ensuite l’analyser dans une arborescence HTML. Pour ce faire, nous utiliserons requests.get() et HTML.parser.

import requests
from bs4 import BeautifulSoup
path = 'https://www.fifa.com/fifa-world-ranking/ranking-table/men/'
page = requests.get(path)
soup = BeautifulSoup(page.content,'html.parser')

 

Nous devons maintenant sélectionner la section où se trouve l’élément du tableau et sélectionner la partie “tbody” du tableau et parcourir chaque ligne.

Dans le corps du tableau, nous devons maintenant trouver toutes les lignes et les parcourir en utilisant une boucle ‘for‘. Ensuite, nous devons enregistrer chaque élément de la ligne dans une liste nommée “loop” et ensuite, nous l’écrirons dans un fichier CSV

row = []
for items in soup.find('table',id='rank-table').find('tbody').find_all('tr')[0::]:
    data = items.find_all('td')
    try:
        rank = data[0].text
        country,code = data[1].text.strip().split('\n')
        points = int(data[2].text)
        ranking_change = int(data[4].text)
        row.append([rank,country,code,points,ranking_change])
    except IndexError:
    pass

 

Maintenant que nous avons le tableau comme une liste imbriquée dans la “rangée” du conteneur. Nous devons maintenant enregistrer le tableau en tant que CSV. Pour ce faire, nous utiliserons la bibliothèque “CSV” dont le code est indiqué ci-dessous.

import csv
with open("out.csv", "w", newline="") as f:
    writer = csv.writer(f)
    writer.writerow(['rank','country','code','points','ranking_change'])
    writer.writerows(row)

 

Nous avons maintenant le tableau au format .csv et nous pouvons l’utiliser pour notre analyse en l’important avec des pandas ou en l’ouvrant dans Excel.

CSV du classement

Ce sont les données que nous voulions extraire dans notre exemple. C’était assez facile à faire et si les étapes sont bien suivies, tout le monde peut le faire. Peu de connaissances du codage Python ont été appliquées à toute cette opération.

La substance de toute l’opération :

Nous pouvons résumer que de nombreuses personnes peuvent maintenant facilement gratter les données contenues sur n’importe quel site web sous forme de tableau. C’est un processus très simple qui peut être mis en œuvre en quelques minutes.

Bien qu’une connaissance de Python et de grattage soit nécessaire pour un débutant, le processus n’est pas très complexe. Il suffit d’un peu de codage et les données que vous souhaitez peuvent être obtenues.

Nous, à fr.Scrapingpass.com, vous avons montré les étapes à suivre pour extraire les données requises de n’importe quel site web si elles sont sous forme de tableau sous forme de fichier CSV.

Cela rend les données faciles à lire, à écrire et à transférer. Ainsi, n’importe qui peut facilement les mettre en œuvre à l’aide de deux bibliothèques de base. Pour plus d’informations, vous pouvez nous contacter.