Pour faire le web scraping, on a pas mal de choix : écrire des scripts, profiter des outils de scraping nocode, utiliser Excel ou Google Sheets. Oui ! Google Sheets, l’un des outils basés sur Cloud les plus populaires, peut totalement être considéré comme un scraper de base : utiliser des formules pour importer les données d’une page Web directement dans Google Sheets et les partager avec des collègues ou amis. Après avoir fait un guide complet sur l’extraction de données avec Excel, on cible comment utiliser Google Sheets pour effectuer le web scraping dans cet article. Ensuite, je vais le comparer avec un outil de scraping typique – Octoparse. Après l’avoir lu, vous aurez une idée claire de la méthode qui conviendrait le mieux à vos besoins de collecte de données.
Deux options d’utiliser Google Sheets pour faire le web scraping
Option #1 : Créez un web scraper simple avec le formule ImportXML
Le formule ImportXML a pour syntaxe
=IMPORTXML(url, xpath_query, locale)
Il peut être utilisé pour collecter des données structurées des sites Web à partir de n’importe quelles données structurées, y compris CSV, XML, RSS, TSV, flux ATOM XML et HTML.
Le suivant donne des étapes claires pour extraction de données avec ce formule. Dans l’exemple, on scrape steamspy.com pour collecter le nom, le prix, la date de sortie des jeux de Steam.
Étape 1 – Ouvrir une nouvelle feuille de calcul Google Sheets et coller l’URL de la page cible dans Google Sheets.
Étape 2 – Trouver les Xpath des éléments cibles.
Il suffit de cliquer droit sur la page Web et cela fait apparaître un menu déroulant. Puis sélectionner “inspecter” et appuyer sur une combinaison de trois touches : “Ctrl” + “Shift” + “C” pour activer “Selector”. En cliquant sur les éléments désirés, on en obtiendrait les informations. Ensuite, copier l’URL et le coller dans Google Sheets.
Étape 3 – Copier les Xpath des éléments cibles et les coller dans Google Sheets.
Sélectionner l’élément de prix et cliquer droit pour faire apparaître le menu déroulant. Sélectionner ensuite «Copier», choisir «Copier XPath», avant de le coller dans Google Sheets. Répéter la même étape pour obtenir Xpath de l’élément de nom et celui de l’élément de date de sortie.
Étape 4 – Compléter la formule dans la feuille de calcul.
Dans notre cas, les formules correspondantes sont
Nom des jeux =IMPORTXML (“https://steamspy.com/“, “//*[@id=’trendinggames’]/tbody/tr/td[2]”)
Date de sortie =IMPORTXML (“https://steamspy.com/“, “.//*[@id=’trendinggames’]/tbody/tr/td[3]”)
Prix des jeux =IMPORTXML (“https://steamspy.com/“, “.//*[@id=’trendinggames’]/tbody/tr/td[4]”)
Voilà les résultats qu’on obtient.
Option #2 : Créez un web scraper simple avec le formule ImportHTML
Il y a une autre formule qu’on peut utiliser pour importer les données depuis les pages Web vers Google Sheets.
=IMPORTHTML(“URL”, “QUERY”, Index)
Cette formule vous permet d’extraire l’ensemble du tableau ou du liste.
C’est assez facile ! On n’a plus desoin d’écrire de codes pour effectuer le scraping et les données sont récupérées en très peu de temps.
Mais cette méthode est-elle déjà parfaite ? Pas encore, il existe sans doute
des inconvénients :
Premièrement, cette méthode convient plutôt aux petits besoins des individus ou des petites équipes. Un gros projet est certainement basé sur un océan de données de nombreuses sources. Si on répète toujours ces mêmes étapes pour collecter chaque champ de données, ça sera un travail lourd et ennuyeux.
Deuxièmement, avec cette méthode, on ne peut que récupérer les données de premier niveau. Mais dans la plupart des cas, une page contient des liens qu’on clique pour entrer dans une page de détail. En prenant le site https://steamspy.com/ comme exemple, on veut parfois cliquer entre chaque jeu pour obtenir d’autres informations utiles et critiques.
Troisièmement, Google Sheets ne nous permet que d’obtenir des données sous forme de chiffres ou textes. En effet, d’autres éléments comme liens ou images peuvent couvrir une grande valeur
Donc, il faut encore trouver une solution d’extraction de données plus puissante et souple pour récupérer les données à grande échelle en une fois. Ici, je propose des outils de scraping sophistiqués, parmi lesquels, Octoparse.
Octoparse facilite davantage le web scraping à grande échelle
On voit dans la permière partie comment utiliser facilement Google Sheets pour récupérer les données depuis des pages web. En effet, les outils de scraping nocode n’est pas du tout plus difficile ou complexe. Voyons comment Octoparse facilite davantage le web scraping à grande échelle.
Étape 1 – Télécharger Octoparse et l’ouvrir. Entrez ensuite l’URL http://steamspy.com/ du site Web cible dans la barre de recherche avant de cliquer “Save” pour ouvrir la page web dans le navigateur intégré d’Octoparse.
Étape 2 – Configurer la pagination et Octoparse récupérera les données sur toutes les pages.
1. Cliquer sur le bouton «Next».
2. Cliquer “Loop click next page” dans le panneau de conseil. Et c’est fait.
Étape 3 – Créer une liste de boucle pour qu’Octoparse parcourt la liste.
1. Cliquer sur la première ligne de données et Octoparse détecte alors les éléments similaires et les met en rouge.
2. Puisque nous devons extraire les données par ligne, donc choisir «TR» (Table Row) dans le panneau de conseil.
3. Une fois que la première ligne a été sélectionnée, cliquer «Select sub-elements» dans le panneau de Conseils et puis cliquer le bouton «Select all», ensuite cliquer sur «Extract data» et vous pouvez voir un aperçu de données dans la fenêtre de “data preview”.
Étape 4 – Cliquer sur le lien de jeu pour entrer dans la page de détail et y extraire d’autres informations.
1. Cliquer sur le lien du jeu.
2. Cliquer “Click URL” dans le panneau de conseil. Et on entrera dans la page de détail.
3. Choisir les éléments qui vous intéressent et sélectionner “Extract data”.
Étape 5 – Extraire les données récupérées
Vous pouvez télécharger les données vers Excel, CSV, TXT ou d’autres formats souhaités. Et s’il y a besoin, vous pouvez les exporter vers votre base de données ou Google Sheets via API.
Alors que l’extraction de données avec Google Sheets ou Excel nécessite que vous copiez et colliez physiquement, Octoparse automatise le processus. De plus, Octoparse est plus puissant pour traiter les sites Web dynamiques avec AJAX ou des solutions de captcha.
发表回复