Comment trouver l'IP d'un site web avec une simple formule Google Sheets ?
Table des matières
Aujourd'hui, je vais te montrer comment convertir un domaine en adresse IP directement dans Google Sheets.
Et oui, c'est possible !
Personnellement, je m'en sers surtout pour analyser la qualité de mes backlinks : ça me permet de vérifier que j'ai suffisamment d'IP différentes parmi mes domaines référents.
1ère étape : récupérer la donnée avec une API
La première étape, c'est de trouver une API, si possible gratuite, permettant de retourner l'IP correspondant à un nom de domaine.
En cherchant rapidement sur Google, j'ai trouvé celle-ci https://ip-api.com/.
Pour utiliser cette API, il suffit d'interroger l'URL suivante http://ip-api.com/json/, suivie du nom de domaine souhaité.
Plusieurs formats sont disponibles :
- XML (http://ip-api.com/xml/)
- CSV (http://ip-api.com/csv/)
- JSON (http://ip-api.com/json/)
Exemple : http://ip-api.com/json/seomemento.com retourne le résultat JSON suivant :
{"status":"success","country":"Canada","countryCode":"CA","region":"ON","regionName":"Ontario","city":"Toronto","zip":"M5A","lat":43.6532,"lon":-79.3832,"timezone":"America/Toronto","isp":"Cloudflare, Inc.","org":"Cloudflare, Inc.","as":"AS13335 Cloudflare, Inc.","query":"104.21.31.144"}
2ème étape : extraire l'IP dans Google Sheets
Maintenant que j'ai la source de données, je vais afficher tout ça dans Google Sheets.
Allez, je te montre comment faire pour chaque format.
Format JSON
Voici la formule :
=INDEX(SPLIT(INDEX(IMPORTDATA("http://ip-api.com/json/"&A2);COUNTA(IMPORTDATA("http://ip-api.com/json/"&A2)));"""";FALSE);2)
Explications :
- j'importe le contenu du JSON avec la fonction IMPORTDATA (oui, c'est pas dans la doc mais ça marche) : chaque paire de clé/valeur est retournée dans une colonne distincte
- je n'affiche que la dernière colonne, là où est stockée la valeur de la clé
query
, c'est-à-dire l'IP, grâce au comboINDEX
+COUNTA
(COUNTA
me permet de compter le nombre total de colonnes = l'index de la dernière colonne)
- je découpe le résultat à chaque double quote avec
SPLIT
- puis j'affiche la deuxième colonne issue du résultat précédent avec, à nouveau,
INDEX
Format CSV
Voici la formule :
=INDEX(IMPORTDATA("http://ip-api.com/csv/"&A2);COUNTA(IMPORTDATA("http://ip-api.com/csv/"&A2)))
Explications :
- j'importe le contenu du CSV avec la fonction IMPORTDATA : chaque valeur est retournée dans une colonne distincte
- je n'affiche que la dernière colonne, là où est stockée la valeur de la clé
query
, c'est-à-dire l'IP, grâce au comboINDEX
+COUNTA
(COUNTA
me permet de compter le nombre total de colonnes = l'index de la dernière colonne)
Format XML
Voici la formule :
=IMPORTXML("http://ip-api.com/xml/"&A2;"//query/query")
Explications :
- je sélectionne le contenu de
<query>
, qui est lui-même un noeud enfant de<query>
dans l'arborescence de la réponse XML
3ème étape : contourner les limites des fonctions d'importation
La méthode décrite ici fonctionne très bien.
Le souci, c'est qu'elle est n'est pas adaptée aux gros volumes : on ne peut pas utiliser plus de 50 fonctions d'importations (IMPORTXML/HTML/DATA/FEED) par feuille de calcul.
J'ai donc cherché et trouvé une solution pour contourner cette limite.
Et... je viens de l'implémenter dans Gadgeto.
Si tu n'as pas encore Gadgeto dans ta toolbox, c'est le moment ;)
- Partager sur Twitter
- Partager sur Facebook
- Partager sur LinkedIn
- Partager sur Pinterest
- Partager par E-mail
- Copier le lien
Un Template Google Sheets Offert ! 🎁
Rejoins ma newsletter et reçois une astuce SEO chaque mercredi ! En cadeau, je t'offre un template Google Sheets avec 50 fonctions de scraping prêtes à l'emploi.