Net::Whois - Scraper kontrollerar domändata via RDAP och WHOIS
Översikt av scrapern

Domändata samlas in via RDAP (HTTP, JSON), WHOIS (port 43) eller operatörens webbsida – beroende på domänzon. För varje TLD finns RDAP- och WHOIS-servrar definierade i scrapern; om RDAP är tillgängligt för zonen görs begäran i första hand via det, vid fel används WHOIS, och om inget av dessa finns används webben, förutsatt att en sida finns tillgänglig.
Uppsättningen av kontrollmetoder beror på operatören, inte bara på TLD. Vissa zoner saknar WHOIS eller RDAP, eller så fungerar de inte – detta är operatörens beslut. En webbsida för kontroll finns inte heller för alla: dess tillgänglighet bestäms också av operatören. Om en sida finns, begär scrapern data via den.
Det finns zoner där operatören endast äger TLD, medan webbplatser registreras på SLD (andra nivån, till exempel co.uk, org.uk). Ägaren till en SLD kan vara en eller flera – men det är inte TLD-operatören. Uppsättningen av kontrollmetoder bestäms då av SLD-ägaren: WHOIS, RDAP, webbsida, en kombination av dessa – eller inget alls.
Uppsättningen av fält i WHOIS och RDAP kan också variera – på grund av lagstiftning, operatörspolicy och begränsningar för personuppgifter. Men den generella uppsättningen är förutsägbar: registrering, datum, NS, registrar, status.
Vid insamling via webben finns ingen standardisering. Det kontrolleras alltid om domänen är registrerad eller inte. Resten beror på vad operatören har publicerat på sidan: det kan vara en nästan komplett uppsättning data, eller bara det faktum att den är registrerad.
Mer information: RDAP (eng.), WHOIS.
Funktionaliteten i A-Parser gör det möjligt att spara inställningar för dataskrapning för framtida bruk (förinställningar), schemalägga dataskrapning och mycket mer. Du kan använda automatisk multiplikation av frågor, infogning av underfrågor från filer, generering av alfanumeriska kombinationer och listor för att få största möjliga mängd resultat.
Resultaten kan sparas i precis det format och den struktur du behöver, tack vare den inbyggda kraftfulla mallmotorn Template Toolkit som gör det möjligt att tillämpa extra logik på resultaten och exportera data i olika format, inklusive JSON, SQL och CSV.
Användningsfall för scrapern
🔗 Välj godtyckliga data
Net::Whois väljer godtyckliga data
🔗 Domänparametrar
Hämta parametrar för domäner
🔗 Meddelande om domänens utgångsdatum
Få meddelanden i Telegram om när domänregistreringen löper ut
🔗 Insamling av e-postadressdatabas
Förinställningen gör det möjligt att samla in e-postadresser för domäner via Whois-tjänsten.
Insamlade data
Listan nedan är en typisk uppsättning för WHOIS/RDAP; specifika fält beror på serverns svar och lagstiftning. Vid insamling via webben garanteras endast registreringsstatus; övriga fält fylls i endast om operatören publicerar dem.
$registered— om domänen är registrerad eller inte$expire_date— utgångsdatum för domänregistreringen$creation_date— när domänen registrerades$free_date— datum då domänen blir ledig$whoisserver— använd WHOIS-server (vid WHOIS-förfrågan; ofta tom vid RDAP)$rdapserver— URL för RDAP-servern (vid framgångsrik RDAP-förfrågan)$registrar— domänregistrator$updated_date— datum för senaste uppdatering av posten$data— råsvar: WHOIS-text eller RDAP-JSON- Array
$ns(Namnservrar):$ns.$i.server— namn på NS-servern
- Array
$statuses(Statuslista):$statuses.$i.status— domänstatus
Funktioner
- Automatiskt val av RDAP eller WHOIS baserat på domänzon (RDAP prioriteras)
- Om en zon saknar fungerande WHOIS/RDAP men har en webbsida hos operatören — sker kontrollen via den
- Innehållet i WHOIS/RDAP-fälten beror på serverns svar och lagstiftning
- Vid insamling via webben kontrolleras alltid om domänen existerar; övriga fält endast om operatören tillhandahåller dem
- Vissa zoner (TLD och SLD) saknar både WHOIS/RDAP och webbsida — WHOIS-data är inte tillgänglig, men domänens existens kontrolleras via
Net::DNS - Stöd för internationella domäner (IDN, t.ex. яндекс.рф)
Användningsområden
- Insamling av lediga domäner eller domäner som snart blir lediga
- Insamling av listor över ns-servrar
- Hämtning av domänstatusar
Frågor
Som frågor ska domänen för den sökta webbplatsen anges, till exempel:
a-parser.com
yandex.ru
google.com
vk.com
facebook.com
Exempel på resultatutmatning
A-Parser stöder flexibel formatering av resultat tack vare den inbyggda mallmotorn Template Toolkit, vilket gör att den kan mata ut resultat i valfri form, samt i strukturerad form som CSV eller JSON
Standardutmatning
Resultatformat:
$query - registered: $registered, expire: $expire_date, creation: $creation_date
Resultatet visar domänen, om den är registrerad, utgångsdatum och registreringsdatum för domänen:
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
Utmatning av NS-lista
Resultatformat:
$ns.format('$server\n')
Exempel på resultat:
demi.ns.cloudflare.com
vern.ns.cloudflare.com
Utmatning av domäntider till CSV
Resultatformat:
[% tools.CSVline(query, registered, expire_date, creation_date, updated_date, free_date, whoisserver, rdapserver, registrar) %]
Exempel på resultat (domän .com, svar via RDAP — whoisserver är tom, rdapserver är ifylld):
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"
Utmatning av NS-lista till CSV-tabell
Resultatformat:
[% FOREACH ns;
tools.CSVline(query, server);
END %]
Exempel på resultat:
a-parser.com,demi.ns.cloudflare.com
a-parser.com,vern.ns.cloudflare.com
Dumpa resultat till JSON
Allmänt resultatformat:
[% 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 %]
Starttext:
[
Sluttext:
]
Exempel på resultat (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"
}]
För att alternativen "Prepend text" och "Append text" ska vara tillgängliga i Task Editor måste du aktivera "More options".
Bearbetning av resultat
A-Parser gör det möjligt att bearbeta resultat direkt under dataskrapningen. I det här avsnittet har vi listat de mest populära fallen för scrapern Net::Whois
Hämta domänregistrator
Vid svar via WHOIS innehåller fältet $p1.data text; vid RDAP — JSON. För att hämta registratorn i båda fallen, lägg till två Result Constructors.
Lägg till en Result Builders (Result Constructor) och välj källa i rullgardinslistan: $p1.data. Välj typ: RegEx Match. I fältet Regex skriv: Registrar:\s*(.+) och spara i variabeln registrarwhois.
Lägg till en till Result Builders (Result Constructor) och välj källa i rullgardinslistan: $p1.data. Välj typ: RegEx Match. I fältet Regex skriv: "entities"[\s\S]+?"vcardArray"[\s\S]+?"fn"[\s\S]+?"text"[\s\S]+?"([^"]+?)" och spara i variabeln registrarrdap.
Lägg till i Result format (Result Format): [% IF registrarrdap == 'none' %]$query - $registrarwhois[% ELSE %]$query - $registrarrdap[% END %] — om RDAP inte hittade namnet (registrarrdap är lika med none) visas värdet från WHOIS, annars från RDAP.
Ladda ner exempel
Hur man importerar ett exempel i 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
Möjliga inställningar
| Parameter | Standardvärde | Beskrivning |
|---|---|---|
| Recursive query | ☐ | Gör det möjligt att få en utökad version av WHOIS |
| WHOIS server | Gör det möjligt att ange en egen WHOIS-server | |
| RDAP server | Gör det möjligt att ange en egen RDAP-server | |
| Checking by DNS | ☑ | Gör det möjligt att kontrollera om domänen är registrerad baserat på om det finns ett IP för domänen |
| Checking domains by DNS record | ☑ | IP-kontroll, om den hittar status ALLOCATED definieras domänen som registrerad; om alternativet är inaktiverat sker ingen IP-kontroll alls |
| Force DNS check for not found domains | ☑ | Tvingad kontroll om domänen definierades som ej registrerad |