undefined
Blog > Big Data > Post

3 manières pour gratter les données d'une table

Tuesday, September 14, 2021

Comment gratter les données d'une table ?

Il y a beaucoup de données présentées sous forme de tableau sur les pages Web, ce qui pourrait être assez difficile lorsque vous essayez de les stocker sur vos ordinateurs locaux pour un accès ultérieur. Le problème est que ces données sont intégrées au HTML et ne peuvent pas être téléchargées dans des formats structurés tels que CSV. Web scraping est le moyen le plus simple d'obtenir ces données sur un ordinateur local.

 

scrape data from a table_Octoparse

données de table de Unicorn Startup

 

Nous présenterons 3 façons de récupérer les données d'une table pour ceux qui ne connaissent presque rien au codage :

 

  • Google Sheets
  • Octoparse (outil de grattage Web)
  • Langage R (utiliser le package rvest)

 

Trois façons de récupérer les données d'une table

 

1) Google Sheets

Google sheets offre une excellente fonction - Import Html , qui est capable de récupérer les données d'un tableau sur une page HTML à l'aide d'une expression fixe, =ImportHtml (URL, "table", num).

 

Étape 1 : Ouvrez une nouvelle feuille Google et remplissez les blancs avec des expressions.

Une brève introduction de la formule sera affichée.

 Googlr sheet_importHTML

Étape 2 : saisissez l'URL (exemple: https://en.wikipedia.org/wiki/Forbes%27_list_of_the_world%27s_highest-paid_athletes) et ajustez le champ d'index selon vos besoins.

 Google Sheet_Scrape table

Avec ces 2 étapes, nous pouvons gratter le tableau dans Google Sheets en quelques minutes. De toute évidence, Google Sheets est une bonne solution qui peut nous aider à saisir le tableau directement. Cependant, il y a une limite évidente. Si nous prévoyons d'utiliser Google Sheets pour explorer des tableaux sur plusieurs pages, ce sera une tâche tellement lourde. Par conséquent, vous avez besoin d'un moyen plus efficace pour automatiser le processus.

 

2) Gratter les tables avec un outil de grattage Web

Pour mieux illustrer le propos, nous allons utiliser ce site Web pour vous montrer le processus de crawl, https://www.babynameguide.com/categoryafrican.asp?strCat=African

Tout d'abord, téléchargez Octoparse et lancez-le.

 

Étape 1 : Cliquez sur "Mode Avancé" pour démarrer un nouveau projet.

 

Étape 2: Entrez l'URL cible dans la case et cliquez sur "Enregistrer l'URL" pour ouvrir le site Web dans le navigateur intégré d'Octoparse.

 

Étape 3: Créez une pagination en 3 clics :

a) Cliquez sur "B" dans le navigateur

b) Cliquez sur "Tout sélectionner" dans le panneau "Tips d'actions"

c) Cliquez sur "Cliquer en boucle sur chaque URL" dans le panneau "Tips d'Action"

         

Maintenant, vous verrez qu'une boucle de pagination a été créée dans la boîte de workflow.

 

Étape 4: Grattez une table à travers les étapes ci-dessous.

a) Cliquez sur la première cellule de la première ligne du tableau

b) Cliquez sur l'icône d'expansion dans le panneau "Tips d'actions" jusqu'à ce que toute la ligne soit surlignée en vert (généralement, la balise devrait être TR)

c) Cliquez sur "Sélectionner tous les sous-éléments" dans le panneau "Tips d'actions", puis sur "Extraire les données" et sur "Extraire les données dans la boucle"

     

 

La boucle de grattage de la table est maintenant intégrée dans le workflow.

 

Étape 5 : Extraire les données

Avec les 5 étapes précédentes, nous obtiendrons les résultats suivants.

 

Avec l'ajout de la fonctionnalité de pagination, le processus de grattage est devenu plus compliqué. Néanmoins, nous devons admettre qu'Octoparse est le meilleur outil pour gérer de grandes quantités de données.

Ce qui est plus étonnant est que vous n'avez aucun besoin de connaissance sur le codage. En d'autres termes, que vous soyez programmeurs ou non, vous pouvez toujours créer vos propres "crawlers" pour obtenir les données dont vous avez besoin. Pour en savoir plus sur la récupération de données à partir de tables ou de formulaires, veuillez vous référer à Puis-je récupérer des tables/formulaires ?

 

Cependant, si vous avez des connaissances en codage et que vous souhaitez écrire un script en vous-même, l'utilisation du package rvest du langage R est le moyen le plus simple pour vous aider à gratter une table.

 

3)Langage R (utiliser le package rvest)

Dans ce cas, nous utiliserons encore ce site, https://www.babynameguide.com/categoryafrican.asp?strCat=African comme un exemple pour vous montrer comment utiliser rvest pour gratter des tables.

Avant de commencer à écrire les codes, vous devez connaître d'abord quelques grammaires de base sur le package rvest.

 

html_nodes() : Sélectionner une partie particulière dans un document. Vous pouvez choisir d'utiliser des sélecteurs CSS, comme html_nodes(doc, "table td"), ou des sélecteurs xpath, html_nodes(doc, xpath = "//table//td")

html_tag() : Extraire le nom de la balise. html_text(), html_attr() et html_attrs() sont tous des grammaires de ce genre

html_table() : Analyser les tableaux HTML et les extraire vers R Framework.

 

En plus des fonctions mentionnées, il y a encore d'autres fonctions qui peuvent simuler le comportement de navigation humain. Par exemple, html_session(), jump_to(), follow_link(), back(), forward(), submit_form(), etc.

 

Dans ce cas, nous devons utiliser html_table() pour atteindre notre objectif: récupérer les données d'une table.

Télécharger R(https://cran.r-project.org/) d'abord.

 

Étape 1 : Installez rvest.

 Install rvest

Étape 2: Commencez à écrire des codes.

Library(rvest) :  Importer le package rvest

Library(magrittr) : Importer le package magrittr

URL: L'URL cible

Read HTML : Accéder aux informations à partir de l'URL cible

List: Lire les données du tableau

 

Étape 3: Après avoir écrit tout le code dans le R penal, cliquez sur "Entrer" pour exécuter le script. Les informations de la table seront ainsi extraites immédiatement.

 

 rvest_final result

 

Pour extraire des données tabulaires, l'utilisation d'un outil de grattage Web ne semble pas être plus économique que l'écriture de quelques lignes de code. En fait, la courbe d'apprentissage de programmation est abrupte, ce qui la rend très difficile pour que les gens ordinaires puisse expérimenter sa véritable puissance en matière d'exploration Web. C'est donc difficile pour les personnes qui ne travaillent pas dans l'industrie technologique d'obtenir un avantage concurrentiel dans l'utilisation des données en ligne.

 

J'espère que le tutoriel ci-dessus peut vous aider à comprendre de manière générale comment les outils de grattage Web peuvent vous aider à obtenir facilement les mêmes résultats que les programmeurs.

 

Téléchargez Octoparse pour démarrer le web scraping ou contactez-nous pour toute autre demande
questions sur le web scraping!

Contactez-Nous Télécharger
Nous utilisons des cookies pour améliorer votre expérience de navigation. Découvrez comment nous utilisons les cookies et comment vous pouvez les contrôler en cliquant sur les paramètres des cookies. Si vous continuez à utiliser ce site, vous consentez à notre utilisation des cookies.
Accepter Rejeter