Net::Whois - Le scraper vérifie les données de domaine via RDAP et WHOIS
Présentation du scraper

Les données de domaine sont collectées via RDAP (HTTP, JSON) ou WHOIS (port 43) — selon la zone de domaine. Pour chaque TLD, des serveurs RDAP et WHOIS sont définis dans le scraper ; si le RDAP est disponible pour la zone, la requête est effectuée via celui-ci en priorité, et en cas d'échec — via WHOIS.
En savoir plus : RDAP (angl.), WHOIS.
Les fonctionnalités d'A-Parser permettent de sauvegarder les paramètres de collecte de données pour une utilisation ultérieure (présélections), de définir des programmes de collecte et bien plus encore. Vous pouvez utiliser la multiplication automatique des requêtes, la substitution de sous-requêtes à partir de fichiers, l'énumération de combinaisons alphanumériques et de listes pour obtenir le maximum de résultats possible.
La sauvegarde des résultats est possible dans le format et la structure dont vous avez besoin, grâce au puissant moteur de gabarits intégré Template Toolkit qui permet d'appliquer une logique supplémentaire aux résultats et d'exporter les données dans divers formats, y compris JSON, SQL et CSV.
Cas d'utilisation du scraper
🔗 Sélection de données arbitraires
Net::Whois sélection de données arbitraires
🔗 Paramètres des domaines
Obtention des paramètres par domaines
🔗 Notification d'expiration des domaines
Recevoir des notifications dans Telegram concernant l'expiration de l'enregistrement des domaines
🔗 Collecte de base d'adresses e-mail
Le préréglage permet de collecter les adresses e-mail des domaines via le service Whois.
Données collectées
- Si le domaine est enregistré ou non
- Date d'expiration de l'enregistrement du domaine
- Date d'enregistrement du domaine
- Date de la dernière mise à jour de l'enregistrement
- URL du serveur RDAP — en cas de requête RDAP réussie
- Serveur WHOIS utilisé — pour les requêtes WHOIS ; souvent vide pour RDAP
- Liste des serveurs de noms (NS) du domaine
- Registraire du domaine
- Statut actuel du domaine
- Date de libération du domaine
- Réponse brute — texte WHOIS ou JSON RDAP
Possibilités
- Sélection automatique entre RDAP ou WHOIS selon la zone du domaine (priorité RDAP)
- Prise en charge des domaines internationaux (IDN, par exemple яндекс.рф)
Cas d'utilisation
- Collecte de domaines libres ou de ceux qui seront bientôt libérés
- Collecte de la liste des serveurs NS
- Obtention des statuts de domaines
Requêtes
Comme requêtes, il est nécessaire d'indiquer le domaine du site recherché, par exemple :
a-parser.com
yandex.ru
google.com
vk.com
facebook.com
Variantes d'affichage des résultats
A-Parser prend en charge un formatage flexible des résultats grâce au moteur de gabarits intégré Template Toolkit, ce qui lui permet d'afficher les résultats sous n'importe quelle forme, ainsi que de manière structurée, par exemple en CSV ou JSON
Affichage par défaut
Format du résultat :
$query - registered: $registered, expire: $expire_date, creation: $creation_date
Le résultat affiche le domaine, s'il est enregistré, la date d'expiration et la date d'enregistrement du domaine :
facebook.com - registered: 1, expire: 30.03.2028, creation: 29.03.1997
a-parser.com - registered: 1, expire: 25.02.2022, creation: 25.02.2012
vk.com - registered: 1, expire: 23.06.2021, creation: 24.06.1997
yandex.ru - registered: 1, expire: 01.10.2021, creation: 23.09.1997
google.com - registered: 1, expire: 14.09.2028, creation: 15.09.1997
Affichage de la liste des NS
Format du résultat :
$ns.format('$server\n')
Exemple de résultat :
demi.ns.cloudflare.com
vern.ns.cloudflare.com
Affichage des données sur les délais du domaine en CSV
Format du résultat :
[% tools.CSVline(query, registered, expire_date, creation_date, updated_date, free_date, whoisserver, rdapserver, registrar) %]
Exemple de résultat (domaine .com, réponse via RDAP — whoisserver est vide, rdapserver est rempli) :
a-parser.com,1,25.02.2027,25.02.2012,10.02.2026,none,,https://rdap.verisign.com/com/v1/domain/a-parser.com,"Squarespace Domains II LLC"
Affichage de la liste des NS dans un tableau CSV
Format du résultat :
[% FOREACH ns;
tools.CSVline(query, server);
END %]
Exemple de résultat :
a-parser.com,demi.ns.cloudflare.com
a-parser.com,vern.ns.cloudflare.com
Dump des résultats en JSON
Format de sortie general:
[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;
obj = {};
obj.query = query;
obj.registered = p1.registered;
obj.expire_date = p1.expire_date;
obj.creation_date = p1.creation_date;
obj.updated_date = p1.updated_date;
obj.free_date = p1.free_date;
obj.whoisserver = p1.whoisserver;
obj.rdapserver = p1.rdapserver;
obj.registrar = p1.registrar;
obj.domains = [];
FOREACH item IN p1.ns;
obj.domains.push({
server = item.server
});
END;
obj.json %]
Texte initial:
[
Texte final:
]
Exemple de résultat (RDAP) :
[{
"registered": 1,
"rdapserver":"https://rdap.verisign.com/com/v1/domain/a-parser.com",
"query":"a-parser.com",
"free_date":"none",
"domains":[
{
"server":"demi.ns.cloudflare.com"
},
{
"server":"vern.ns.cloudflare.com"
}
],
"registrar":"Squarespace Domains II LLC",
"expire_date":"25.02.2027",
"creation_date":"25.02.2012",
"whoisserver":"",
"updated_date":"10.02.2026"
}]
Pour que les options "Texte initial" et "Texte final" soient disponibles dans l'Éditeur de tâches, vous devez activer "Plus d'options".
Traitement des résultats
A-Parser permet de traiter les résultats directement pendant la collecte de données, dans cette section nous avons présenté les cas les plus populaires pour le scraper Net::Whois
Obtenir le registraire du domaine
Lors d'une réponse via WHOIS, le champ $p1.data contient du texte ; avec RDAP, il contient du JSON. Pour obtenir le registraire dans les deux cas, ajoutez deux Constructeurs de résultats.
Ajouter un Results Builder (Constructeur de résultats) et dans la liste déroulante choisir la source : $p1.data. Choisir le type : RegEx Match. Dans le champ Expression régulière, inscrire : Registrar:\s*(.+) et sauvegarder dans la variable registrarwhois.
Ajouter à nouveau un Results Builder (Constructeur de résultats) et dans la liste déroulante choisir la source : $p1.data. Choisir le type : RegEx Match. Dans le champ Expression régulière, inscrire : "entities"[\s\S]+?"vcardArray"[\s\S]+?"fn"[\s\S]+?"text"[\s\S]+?"([^"]+?)" et sauvegarder dans la variable registrarrdap.
Ajouter dans le Result format (Format du résultat) : [% IF registrarrdap == 'none' %]$query - $registrarwhois[% ELSE %]$query - $registrarrdap[% END %] — si RDAP n'a pas trouvé de nom (registrarrdap est égal à none), la valeur de WHOIS est affichée, sinon celle de RDAP.
Télécharger l'exemple
Comment importer l'exemple dans A-Parser
eJyVVNtO20AQ/RVrFEQoJioPfbGEqkATiSpNKAH1wU6lVTxJt6x3ze46EEX5987Y
jh1TpKpP9lzPmdvuYIPWSaMhugzBC/fk7iw69A6ieAd5+Q8RWFxL562wEEIurKMg
cohhij6Kfvwy0pEhxZUolIdwB36bI4UZym5limSUKckrYzPhKWnpBhuhCnaLT4Lb
cdBg2FTkwdVVcKqNxtPgZNF7LtBug4ug1/i8MCbFjSbz0fsenIUdpl/InmjYLxYh
VNBuXPIg5F5+OaiLbIxzscEHw2ylwlY9JmkqMubbS4VHtg6qgvpnA//KGUSaSk/d
FKpC4Ca1qI9aPnO9K6EchsCUJbqxNRnl9FhmKOs40IuhqgsoR1EGf69imhyOuI4F
MUnfWqRHK7yxs5wJkX4HRg+VmuAGleuQ2F4XUqU00uGKgm7rwPddZn/l2Df1HUPR
4F8scWiylNL17FsblZqJWTd2JTPpSeFuTKGp9o8hPCHmh57B1FB3MmOxQakDa3Ba
2xw1L1k7smHeqjpVdMZypNyBM4VdEl5M+DRlwa2vl5k2C1/L5PyN4P6waVGSuA/9
wfnZwfhQBZDoDU+xu7Ww2If/BZQAak97hS6BmLCSZL44/5zAZilsOrRWbLv6le7K
vFpdTT/+mQD9nSXwT858R0SZ6C2NXsn1rL7pQxML/UDPxkzfmCxXyBPXhVK0sA7v
28sZunpBWWhn9zb4poQgHs1bQnSMcl/nFbfcSmL3iTlntGPHqHXKpVDq8X5ybOFA
500+0yNr3yx2eTIgLqpHbbCkW2wvs6TKRS7p3teGDpEk7kT9BDZP5Y7W+be7q7Qc
Vur2fwBx19yZ
Paramètres possibles
| Paramètre | Valeur par défaut | Description |
|---|---|---|
| Recursive query | ☐ | Permet d'obtenir une version étendue du WHOIS |
| WHOIS server | Permet de définir votre propre serveur WHOIS | |
| RDAP server | Permet de définir votre propre serveur RDAP | |
| Checking by DNS | ☑ | Permet de vérifier si le domaine est enregistré en fonction de l'existence d'une IP pour le domaine |
| Checking domains by DNS record | ☑ | Vérification de l'IP, s'il trouve le statut ALLOCATED, il définit le domaine comme enregistré, si l'option est désactivée, la vérification de l'IP n'a pas lieu du tout |
| Force DNS check for not found domains | ☑ | Vérification forcée si le domaine a été identifié comme non enregistré |