Net::Whois - Scraper controleert domeingegevens via RDAP en WHOIS
Overzicht van de scraper

Domeingegevens worden verzameld via RDAP (HTTP, JSON) of WHOIS (poort 43) — afhankelijk van de domeinzone. Voor elke TLD zijn in de scraper RDAP- en WHOIS-servers geconfigureerd; als RDAP beschikbaar is voor een zone, wordt de aanvraag eerst via RDAP uitgevoerd, en bij een fout via WHOIS.
Meer informatie: RDAP (Engels), WHOIS.
De functionaliteit van A-Parser maakt het mogelijk om instellingen voor gegevensextractie op te slaan voor toekomstig gebruik (presets), schema's voor gegevensextractie in te stellen en nog veel meer. U kunt automatische query-vermenigvuldiging, subquery-substitutie uit bestanden, het doorlopen van alfanumerieke combinaties en lijsten gebruiken om het maximaal mogelijke aantal resultaten te verkrijgen.
Het opslaan van resultaten is mogelijk in de vorm en structuur die u nodig heeft, dankzij de ingebouwde krachtige sjabloon-engine Template Toolkit waarmee u extra logica op de resultaten kunt toepassen en gegevens in verschillende formaten kunt uitvoeren, waaronder JSON, SQL en CSV.
Use cases voor de scraper
🔗 Willekeurige gegevens selecteren
Net::Whois willekeurige gegevens selecteren
🔗 Domeinparameters
Parameters ophalen per domein
🔗 Melding over domeintermijnen
Ontvang meldingen in Telegram over het verlopen van de domeinregistratie
🔗 E-mailadressen verzamelen
De preset maakt het mogelijk om e-mailadressen van domeinen te verzamelen via de Whois-service.
Verzamelde gegevens
- Of het domein geregistreerd is of niet
- Vervaldatum van de domeinregistratie
- Wanneer het domein is geregistreerd
- Datum van de laatste update van het record
- URL van de RDAP-server — bij een succesvolle RDAP-aanvraag
- Gebruikte WHOIS-server — bij een WHOIS-aanvraag; bij RDAP vaak leeg
- Lijst met nameservers van het domein
- Domeinregistreerder (registrar)
- Huidige status van het domein
- Datum waarop het domein vrijkomt
- Ruwe respons — WHOIS-tekst of RDAP-JSON
Mogelijkheden
- Automatische keuze tussen RDAP of WHOIS op basis van de domeinzone (prioriteit voor RDAP)
- Ondersteuning voor internationale domeinen (IDN, bijvoorbeeld яндекс.рф)
Toepassingen
- Verzamelen van vrije domeinen of domeinen die binnenkort vrijkomen
- Verzamelen van een lijst met ns-servers
- Verkrijgen van domeinstatussen
Query's
Als query's moet u het domein van de gezochte site opgeven, bijvoorbeeld:
a-parser.com
yandex.ru
google.com
vk.com
facebook.com
Voorbeelden van resultaatuitvoer
A-Parser ondersteunt flexibele formattering van resultaten dankzij de ingebouwde sjabloon-engine Template Toolkit, waardoor resultaten in een willekeurige vorm kunnen worden uitgevoerd, evenals in gestructureerde formaten zoals CSV of JSON
Standaard uitvoer
Resultaatformaat:
$query - registered: $registered, expire: $expire_date, creation: $creation_date
Het resultaat toont het domein, of het geregistreerd is, de vervaldatum en de registratiedatum van het domein:
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
Uitvoer van NS-lijst
Resultaatformaat:
$ns.format('$server\n')
Voorbeeld resultaat:
demi.ns.cloudflare.com
vern.ns.cloudflare.com
Uitvoer van domeintermijngegevens naar CSV
Resultaatformaat:
[% tools.CSVline(query, registered, expire_date, creation_date, updated_date, free_date, whoisserver, rdapserver, registrar) %]
Voorbeeld van de uitvoer (domein .com, antwoord via RDAP — whoisserver is leeg, rdapserver is ingevuld):
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"
Uitvoer van NS-lijst naar een CSV-tabel
Resultaatformaat:
[% FOREACH ns;
tools.CSVline(query, server);
END %]
Voorbeeld resultaat:
a-parser.com,demi.ns.cloudflare.com
a-parser.com,vern.ns.cloudflare.com
Dump van resultaten naar JSON
Algemeen resultaatformaat:
[% 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 %]
Begintekst:
[
Eindtekst:
]
Voorbeeld resultaat (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"
}]
Om de opties "Prepend text" en "Append text" beschikbaar te maken in de Taakeditor, moet u "More options" activeren.
Verwerking van resultaten
A-Parser maakt het mogelijk om resultaten direct tijdens de gegevensextractie te verwerken. In deze sectie hebben we de meest populaire cases voor de scraper Net::Whois opgenomen
Domeinregistreerder ophalen
Bij een antwoord via WHOIS bevat het veld $p1.data tekst; bij RDAP is dit JSON. Om de registrar in beide gevallen te verkrijgen, voegt u twee Resultaatconstructors toe.
Voeg Result Builders (resultaatconstructor) toe en kies in de keuzelijst de bron: $p1.data. Kies het type: RegEx Match. Vul in het veld Reguliere expressie in: Registrar:\s*(.+) en sla het op in de variabele registrarwhois.
Voeg opnieuw Result Builders (resultaatconstructor) toe en kies in de keuzelijst de bron: $p1.data. Kies het type: RegEx Match. Vul in het veld Reguliere expressie in: "entities"[\s\S]+?"vcardArray"[\s\S]+?"fn"[\s\S]+?"text"[\s\S]+?"([^"]+?)" en sla het op in de variabele registrarrdap.
Voeg toe aan Result format (resultaatformaat): [% IF registrarrdap == 'none' %]$query - $registrarwhois[% ELSE %]$query - $registrarrdap[% END %] — als RDAP de naam niet heeft gevonden (registrarrdap is gelijk aan none), wordt de waarde uit WHOIS weergegeven, anders die uit RDAP.
Voorbeeld downloaden
Hoe een voorbeeld te importeren 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
Mogelijke instellingen
| Parameter | Standaardwaarde | Beschrijving |
|---|---|---|
| Recursive query | ☐ | Maakt het mogelijk om een uitgebreide versie van WHOIS te verkrijgen |
| WHOIS server | Maakt het mogelijk om een eigen WHOIS-server in te stellen | |
| RDAP server | Maakt het mogelijk om een eigen RDAP-server in te stellen | |
| Checking by DNS | ☑ | Maakt het mogelijk om te controleren of een domein geregistreerd is op basis van het bestaan van een IP voor het domein |
| Checking domains by DNS record | ☑ | IP-controle: als de status ALLOCATED wordt gevonden, wordt het domein als geregistreerd gemarkeerd. Als deze optie is uitgeschakeld, vindt er helemaal geen IP-controle plaats |
| Force DNS check for not found domains | ☑ | Geforceerde controle als het domein als niet-geregistreerd is geïdentificeerd |