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

Il y a beaucoup de données qui sont présentées sous forme de tableau sur les pages Web et il pourrait être assez difficile de les stocker sur votre ordinateur pour le traitement ultérieur. C’est parce que ces données sont intégrées dans le document HTML et qu’on ne peut pas les télécharger 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.

données de table de Unicorn Startup

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

3 façons de récupérer les données d’une table

1) Google Sheets

Google sheets offre une excellente fonction – Import Html , qui permet aux utilisateurs de récupérer les données d’un tableau sur les pages HTML à l’aide d’une expression, =ImportHtml (URL, “table”, num).

Étape 1 : Ouvrez une nouvelle feuille Google Sheets et remplissez une des cases blanches avec l’expression =ImportHtml .

Une brève introduction de la formule et de ses paramètres sera affichée.

Étape 2 : Saisissez l’URL (site d’exemple : https://www.cbinsights.com/research-unicorn-companies) et ajustez le champ d’index selon vos besoins.

Avec ces 2 étapes, nous pouvons importer les données du tableau de la page de souorce dans Google Sheets en quelques minutes.

C’est très claire qu’il s’agit d’une bonne solution pour saisir le tableau directement et rapidement.

Une limite très évidente : Si nous voulons utiliser Google Sheets pour extraire des tableaux sur plusieurs pages, il nous faut répéter ce processus selon le nombre de pages, ce qui sera une tâche tellement lourde. Dans ce cas-là, vous avez besoin d’un moyen plus efficace pour automatiser le processus.

2) Outil de web scraping pour gratter les tableaux

Pour mieux démonstrer le processus de web scraping, nous allons prendre pour exemple ce site web https://finance.yahoo.com/most-active .

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

Étape 1 : Cliquez sur ” Avanced Mode ” pour démarrer un nouveau projet.

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

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

a) Cliquez sur le bouton ” Next ” à la fin de la table dans le navigateur intégré

b) Cliquez sur ” Loup click next page ” dans le panneau ” Tips d’actions “

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 ” Select sub-elements ” dans le panneau ” Tips d’actions “, puis sur ” Extract data “.

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

Étape 5 : Extraire les données

Après les 5 étapes précédentes, nous obtiendrons les résultats suivants en moins de 20 secondes.

A cause de la fonctionnalité de pagination, le processus de grattage est devenu un peu compliqué. Mais malgré tout, on ne peut nier qu’Octoparse est le meilleur outil pour récupérer un grand nombre de données, surtout quand ces données sont affichées sur plusieurs pages.

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 des tableaux, veuillez nous contacter pour obtenir une réponse de notre équipe technique professsionnelle.

Cependant, si vous avez des connaissances en codage et que vous souhaitez écrire un script par 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 (en utilisant le package rvest)

Dans ce cas, nous utiliserons ce site https://finance.yahoo.com/most-active 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échargez R(https://cran.r-project.org/) d’abord.

Étape 1 : Installez 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.

Pour extraire des données à partir des tableaux , l’utilisation d’un outil de web scraping ne semble pas être plus économique que l’écriture de quelques lignes de code. Mais indéniablement, la courbe d’apprentissage de programmation est abrupte, et les gens moyens peinent à découvrir la véritable puissance en matière du web scraping. C’est pourquoi les outils de web scraping se présentent comme le meilleur choix pour ces derniers.


已发布

分类

作者:

标签

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注