Hoppa till huvudinnehåll

Net::Whois - Scraper kontrollerar domändata via RDAP och WHOIS

Översikt av scrapern

Översikt av scrapern

Domändata samlas in via RDAP (HTTP, JSON) eller WHOIS (port 43) — beroende på domänzon. För varje TLD i scrapern finns fördefinierade RDAP- och WHOIS-servrar; om RDAP är tillgängligt för zonen körs begäran i första hand via detta, vid fel görs ett försök mot WHOIS.

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

Insamlade data

  • Om domänen är registrerad eller inte
  • Utgångsdatum för domänregistrering
  • När domänen registrerades
  • Datum för senaste uppdatering av posten
  • URL för RDAP-servern — vid lyckad RDAP-begäran
  • WHOIS-server som används — vid WHOIS-begäran; ofta tom vid RDAP
  • Lista över domänens namnservrar
  • Domänregistrator
  • Domänens nuvarande status
  • Datum då domänen blir ledig
  • Rått svar — WHOIS-text eller RDAP-JSON

Funktioner

  • Automatiskt val av RDAP eller WHOIS baserat på domänzon (RDAP prioriteras)
  • 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"
}]
tips

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

ParameterStandardvärdeBeskrivning
Recursive queryGör det möjligt att få en utökad version av WHOIS
WHOIS serverGör det möjligt att ange en egen WHOIS-server
RDAP serverGör det möjligt att ange en egen RDAP-server
Checking by DNSGö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 recordIP-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 domainsTvingad kontroll om domänen definierades som ej registrerad