Net::Whois - Lo Scraper verifica i dati del dominio tramite RDAP e WHOIS
Panoramica dello scraper

I dati del dominio vengono raccolti tramite RDAP (HTTP, JSON) o WHOIS (porta 43), a seconda della zona del dominio. Per ogni TLD nello scraper sono impostati i server RDAP e WHOIS; se RDAP è disponibile per la zona, la richiesta viene eseguita prioritariamente tramite esso, in caso di errore si passa a WHOIS.
Maggiori informazioni: RDAP (ingl.), WHOIS.
La funzionalità di A-Parser consente di salvare le impostazioni di scraping per un uso futuro (preset), impostare pianificazioni di scraping e molto altro. È possibile utilizzare la generazione automatica delle query, la sostituzione di sotto-query da file, l'iterazione di combinazioni alfanumeriche e liste per ottenere il massimo numero possibile di risultati.
Il salvataggio dei risultati è possibile nella forma e nella struttura necessaria, grazie al potente motore di modelli integrato Template Toolkit che consente di applicare logica aggiuntiva ai risultati e di esportare i dati in vari formati, inclusi JSON, SQL e CSV.
Casi d'uso dello scraper
🔗 Selezione di dati arbitrari
Net::Whois seleziona dati arbitrari
🔗 Parametri dei domini
Ottenimento dei parametri per i domini
🔗 Notifica sulle scadenze dei domini
Ricezione di notifiche su Telegram sulla scadenza della registrazione dei domini
🔗 Raccolta di database di indirizzi e-mail
Il preset consente di raccogliere indirizzi e-mail dei domini tramite il servizio Whois.
Dati raccolti
- Se il dominio è registrato o meno
- Data di scadenza della registrazione del dominio
- Quando è stato registrato il dominio
- Data dell'ultimo aggiornamento del record
- URL del server RDAP — in caso di richiesta RDAP riuscita
- Server WHOIS utilizzato — in caso di richiesta WHOIS; spesso vuoto per RDAP
- Elenco dei name server del dominio
- Registrar del dominio
- Stato attuale del dominio
- Data di rilascio del dominio
- Risposta grezza — testo WHOIS o JSON RDAP
Funzionalità
- Selezione automatica di RDAP o WHOIS in base alla zona del dominio (priorità RDAP)
- Supporto per domini internazionali (IDN, ad esempio яндекс.рф)
Varianti di utilizzo
- Raccolta di domini liberi o di quelli che si libereranno presto
- Raccolta dell'elenco dei server NS
- Ottenimento degli stati dei domini
Query
Come query è necessario indicare il dominio del sito cercato, ad esempio:
a-parser.com
yandex.ru
google.com
vk.com
facebook.com
Varianti di output dei risultati
A-Parser supporta la formattazione flessibile dei risultati grazie al motore di modelli integrato Template Toolkit, che gli consente di produrre risultati in forma arbitraria, così come in forma strutturata, ad esempio CSV o JSON
Output predefinito
Formato del risultato:
$query - registered: $registered, expire: $expire_date, creation: $creation_date
Il risultato mostra il dominio, se è registrato, la data di scadenza e la data di registrazione del dominio:
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
Output dell'elenco NS
Formato del risultato:
$ns.format('$server\n')
Esempio di risultato:
demi.ns.cloudflare.com
vern.ns.cloudflare.com
Output dei dati sulle scadenze del dominio in CSV
Formato del risultato:
[% tools.CSVline(query, registered, expire_date, creation_date, updated_date, free_date, whoisserver, rdapserver, registrar) %]
Esempio di risultato (dominio .com, risposta tramite RDAP — whoisserver vuoto, compilato rdapserver):
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"
Output dell'elenco NS in una tabella CSV
Formato del risultato:
[% FOREACH ns;
tools.CSVline(query, server);
END %]
Esempio di risultato:
a-parser.com,demi.ns.cloudflare.com
a-parser.com,vern.ns.cloudflare.com
Dump dei risultati in JSON
Formato comune del risultato:
[% 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 %]
Testo iniziale:
[
Testo finale:
]
Esempio di risultato (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"
}]
Affinché le opzioni "Prepend text" e "Append text" siano disponibili nell'Editor delle attività, è necessario attivare "More options".
Elaborazione dei risultati
A-Parser consente di elaborare i risultati direttamente durante lo scraping; in questa sezione abbiamo riportato i casi più popolari per lo scraper Net::Whois
Ottenimento del registrar del dominio
Nella risposta tramite WHOIS il campo $p1.data contiene testo; con RDAP — JSON. Per ottenere il registrar in entrambi i casi, aggiungi due Costruttori di risultati.
Aggiungi Result Builders (Costruttore dei risultati) e nel menu a discesa scegli la sorgente: $p1.data. Scegli il tipo: RegEx Match. Nel campo RegEx inserisci: Registrar:\s*(.+) e salva nella variabile registrarwhois.
Aggiungi di nuovo Result Builders (Costruttore dei risultati) e nel menu a discesa scegli la sorgente: $p1.data. Scegli il tipo: RegEx Match. Nel campo RegEx inserisci: "entities"[\s\S]+?"vcardArray"[\s\S]+?"fn"[\s\S]+?"text"[\s\S]+?"([^"]+?)" e salva nella variabile registrarrdap.
Aggiungi in Result format (Formato del risultato): [% IF registrarrdap == 'none' %]$query - $registrarwhois[% ELSE %]$query - $registrarrdap[% END %] — se RDAP non ha trovato il nome (registrarrdap è none), viene mostrato il valore di WHOIS, altrimenti quello di RDAP.
Scarica esempio
Come importare l'esempio in 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
Impostazioni possibili
| Parametro | Valore predefinito | Descrizione |
|---|---|---|
| Recursive query | ☐ | Consente di ottenere la versione estesa di WHOIS |
| WHOIS server | Consente di impostare il proprio server WHOIS | |
| RDAP server | Consente di impostare il proprio server RDAP | |
| Checking by DNS | ☑ | Consente di verificare se il dominio è registrato in base all'esistenza dell'IP per il dominio |
| Checking domains by DNS record | ☑ | Controllo IP: se trova lo stato ALLOCATED, definisce il dominio come registrato; se l'opzione è disattivata, il controllo IP non avviene affatto |
| Force DNS check for not found domains | ☑ | Controllo forzato se il dominio è stato definito come non registrato |