Home
» Wiki
»
Comment utiliser la fonction Google Sheets ImportXML pour collecter des données partout
Comment utiliser la fonction Google Sheets ImportXML pour collecter des données partout
Video Comment utiliser la fonction Google Sheets ImportXML pour collecter des données partout
Vous pouvez importer des données à partir de n'importe quelle page Web à l'aide de la fonction ImportXML de Google Sheets. Voici comment utiliser la fonction ImportXML sur Google Sheets.
En maîtrisant la fonction ImportXML de Google Sheet, vous aurez l'impression de posséder déjà un Assistant Feuilles certifié. ImportXML obtient des informations à partir de n'importe quel champ XML. Grâce à cela, vous pouvez télécharger les données et les métadonnées générées sur celui-ci n'importe où.
Comment utiliser la fonction ImportXML de Google Sheets
Le langage de balisage XML spécifie les ensembles de données dans une page Web. En substance, tout ensemble de <something> et </something> - les blocs de construction du code source Web ou un certain ensemble de données résideront à l'intérieur. Le code source du Web aura du texte dans la balise <p> aragraph - un paragraphe, contenant parfois <b> ancien - en gras et éventuellement <a> un lien - lien (suivi de </ a > </b>. </p> </body> pour fermer la balise entière).
La fonction Google Sheets ImportXML peut trouver un certain ensemble de données XML et copier des données en dehors de celui-ci. Dans l'exemple ci-dessus, si nous voulons obtenir tous les liens sur la page, nous devons demander à la fonction ImportXML d'entrer toutes les informations dans la balise <a> </a> . Si vous voulez tout le texte d'un site Web, vous pouvez commencer par tout prendre dans <body> </body> ou dans chaque version de <p> </p> , puis supprimer les données à des étapes ultérieures.
Comment extraire une liste des codes postaux et des comtés de la ville
Les tableaux de Wikipedia sont d'excellents exercices ImportXML. Cet article prendra l'exemple du téléchargement de l'intégralité du code postal à Edmonton, en Alberta. Trouvez une liste des codes postaux canadiens commençant par la lettre T. Ouvrez cette page dans une nouvelle fenêtre de navigateur pour commencer.
Sélectionnez un code postal, faites un clic droit dessus et sélectionnez Inspecter pour ouvrir l'outil de navigation afin d'afficher la source de la page. Vous verrez que le code source de chaque page est dans une balise (identifiez une cellule dans le tableau). Après cela, l'article importera toutes les balises TD contenues à partir d'Edmonton.
Créez une nouvelle feuille Google vierge. L'article prendra tout le contenu de la balise TD, y compris <span> et un lien en spécifiant les données que vous souhaitez utiliser la syntaxe XPath. ImportXML prend l'URL et la balise que vous recherchez comme argument à importer dans Google Sheets.
Pour revenir à la page source, nous verrons le code postal en gras dans la balise <b> </b>, le nom de la ville qui renvoie aux articles Wikipedia sous <a> </a>. Essayez maintenant d'obtenir des liens uniquement dans chaque zone de grande ville et supprimez les autres liens (quartiers). Modifiez-les dans deux colonnes de raccourcis clavier A et B:
= importxml ("https://en.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada", "// td / span / a [1]")
= importxml ("https://en.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada", "// td / b [1]")
Vous devez affiner un peu les résultats:
Cette action vous aide à comprendre le fonctionnement de la syntaxe de requête XPath: une balise ne fournit que la première version de <tag> dans la <balise parent>. Par conséquent, td / span / a [1] vous donne le premier lien dans <span> à chaque <td>. De même, td / b [1] vous donne le premier texte en gras dans chaque <td> ou seulement le code postal dans ce cas.
La grande chose est que vous pouvez exécuter deux requêtes dans une fonction. Par conséquent, l'article combine deux demandes avec un symbole | au milieu:
= importxml ("https://en.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada", "// td / span / a [1] | // td / b [1]")
Cependant, vous n'obtiendrez pas les mêmes résultats précédents. Il alternera la demande entière combinée dans une longue liste, au lieu de deux colonnes. Il présente de nombreux avantages mais n'est pas nécessaire dans cet article.
Pour sélectionner le code postal dans les cases contenant le lien «Edmonton». Nous utiliserons ce code:
= importxml ("https://en.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada", "// td [span / a = 'Edmonton'] / b [1]")
Mettez la «recherche» - texte éligible pour affiner les résultats entre crochets sans affecter la façon d'obtenir des résultats.
Passons maintenant aux noms des zones voisines. Écrivez la fonction importXML appropriée dans la colonne suivante, en obtenant le texte suivant de «Edmonton».
L'article prend l'intégralité du contenu de la plage [1] et utilise des parenthèses et des réticules pour diviser le contenu, en mettant "Edmonton" dans la première colonne et le nom du quartier dans la colonne suivante. On peut alors combiner le code postal avec le nom correspondant:
Ensuite, utilisez la fonction Fractionner et concaténer certaines des colonnes suivantes pour fractionner et regrouper les données en cours de traitement:
= SPLIT (concaténer (B2: J2), "(/)")
Enfin, voici le tableau des résultats avec les informations nécessaires:
Comment copier automatiquement des adresses e-mail depuis le Web
L'article vous expliquera comment obtenir les courriels de tous les employés sur la page À propos | Zapier. En regardant le code source, vous verrez que l'adresse e-mail de chaque membre se trouve dans le champ class = "email". Lorsque vous souhaitez spécifier un attribut de balise, utilisez la fonction Google Sheets ImportXML comme suit:
= importxml ("https://zapier.com/about//", "// span [@ class = 'email']")
Comment utiliser Regex pour importer des adresses e-mail à partir du Web dans Google Sheets.
Pour obtenir des adresses Zapier en utilisant la "puissance" de Regex, nous allons entrer la commande <span> au lieu de chercher la classe. Nous allons maintenant effectuer cette tâche en deux étapes: appeler les informations de la page Zapier dans la première colonne, puis trier l'e-mail dans la deuxième colonne:
N'oubliez pas, ImportXML remplit toutes les colonnes et lignes par lui-même en fonction des données qu'il trouve. La requête d'expression régulière doit être remplie dans chaque cellule dont vous souhaitez obtenir les résultats. Pour tout rassembler, il vous suffit d'utiliser la commande Regexextract , qui est une formule de constante de tableau: