Перейти к основному содержимому

Net::Whois - Парсер Whois проверяет данные о домене, определяет зарегистрирован домен или нет

Обзор парсера

Обзор парсера

Данные собираются по протоколу WHOIS с центральных серверов для каждой доменной зоны. Подробнее о WHOIS можно прочитать в Википедии: http://ru.wikipedia.org/wiki/WHOIS

Функционал A-Parser позволяет сохранять настройки парсинга для дальнейшего использования (пресеты), задавать расписание парсинга и многое другое. Вы можете использовать автоматическое размножение запросов, подстановку подзапросов из файлов, перебор цифро-буквенных комбинаций и списков для получения максимально возможного количества результатов.

Сохранение результатов возможно в том виде и структуре которая вам необходима, благодаря встроенному мощному шаблонизатору Template Toolkit который позволяет применять дополнительную логику к результатам и выводить данные в различных форматах, включая JSON, SQL и CSV.

Кейсы по применению парсера

Собираемые данные

  • Зарегистрирован домен или нет
  • Дата окончания регистрации домена
  • Когда зарегистрирован домен
  • Используемый сервис whois
  • Список нэйм сервера домена
  • Текущий статус домена
  • Дата освобождения домена

Возможности

  • Поддерживается работа с интернациональными доменами (IDN, например яндекс.рф)

Варианты использования

  • Сбор свободных доменов или тех, которые скоро освободятся
  • Сбор списка ns-серверов
  • Получение статусов доменов

Запросы

В качестве запросов необходимо указывать домен искомого сайта, например:

a-parser.com  
yandex.ru
google.com
vk.com
facebook.com

Варианты вывода результатов

A-Parser поддерживает гибкое форматирование результатов благодаря встроенному шаблонизатору Template Toolkit, что позволяет ему выводить результаты в произвольной форме, а также в структуированной, например CSV или JSON

Вывод по умолчанию

Формат результата:

$query - registered: $registered, expire: $expire_date, creation: $creation_date

В результате отображен домен, зарегистрирован ли он, дата окончания регистрации и дата регистрации домена:

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

Вывод списка NS

Формат результата:

$ns.format('$server\n')

Пример результата:

demi.ns.cloudflare.com
vern.ns.cloudflare.com

Вывод данных о сроках домена в СSV

Формат результата:

[% tools.CSVline(query, registered, expire_date, creation_date, free_date, whoisserver, registrar) %]

Пример результата:

a-parser.com,1,25.02.2022,25.02.2012,none,whois.crsnic.net,"PDR Ltd. d/b/a PublicDomainRegistry.com"

Вывод списка NS в таблицу CSV

Формат результата:

[% FOREACH ns;
tools.CSVline(query, server);
END %]

Пример результата:

a-parser.com,demi.ns.cloudflare.com
a-parser.com,vern.ns.cloudflare.com

Дамп результатов в JSON

Общий формат результата:

[% 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.free_date = p1.free_date;
obj.whoisserver = p1.whoisserver;
obj.registrar = p1.registrar;
obj.domains = [];

FOREACH item IN p1.ns;
obj.domains.push({
server = item.server
});
END;

obj.json %]

Начальный текст:

[

Конечный текст:

]

Пример результата:

[{
"registered": 1,
"query": "a-parser.com",
"free_date": "none",
"expire_date": "25.02.2022",
"registrar": "PDR Ltd. d/b/a PublicDomainRegistry.com",
"domains": [
{
"server": "demi.ns.cloudflare.com"
},
{
"server": "vern.ns.cloudflare.com"
}
],
"creation_date": "25.02.2012",
"whoisserver": "whois.crsnic.net"
}]
подсказка

Чтобы опции "Начальный текст" и "Конечный текст" были доступны в Редакторе заданий, нужно активировать "Больше опций".

Обработка результатов

A-Parser позволяет обрабатывать результаты непосредственно во время парсинга, в этом разделе мы привели наиболее популярные кейсы для парсера Net::Whois

Получение регистратора домена

Добавить Конструктор результатов и в выпадающем списке выбрать источник: $p1.data. Выбрать тип: RegEx Match. В поле Регулярка, вписать регулярное выражение: Registrar:\s*(.+) и сохранить в переменную registrar. Добавить в Формат результата: $query - $registrar\n

Скачать пример

Как импортировать пример в А-Парсер

eJxtVMlu2zAQ/ZVgkEPSOkJy6EU3x4CBFq6VOg56sH0grJHLhiIZLm4CQf/eIbVQ
SXuyZ3vzhvNGDThmn+2DQYvOQr5rQMf/kIPBE7fOMAMz0MxYNCFhB2t0ef7zl+KW
AiVWzAsHswbcm0YqU2c0hpdIQV6SXSlTM0egMQ3OTPiQdvni0bxd3Fxcjn32ewnt
4TCDLtkuY2XI1XdZT2sMPrIzblXA5wKTe0nWmtWxQ8kchmjWUbi6ztxrQGBlyR1X
komuQxgrdX2S/CUylIpyA0uOdmlUTS6HESBSH9jt+lGAIHys/dHVQF4xYXEGlqgu
GREpP0a4Q8OcMoUOfMjfgJJzIVZ4RpHSIv6956KkHcwrKvraF/4/pfgHox3Hm7ai
Tf0xxGFEidZ98T1VlWqlTsNjCF5zR7ZdKC/DYm7J+Yyoxzdbh7RaGRzb9Mh9dxKa
RhlkkVY218n1box3a5k4G7DKmyP1290SQ+ZYePtefqQmfI3g4TeHzaCufL+3n66y
z9dDcBsLpBeCilVYZFL8oSXEo5IVPxW9ngc6Xm7pZAq5ULUW6EYIb3GTNDi3/a6D
kV7hY/EitiCa4x0RFSXst8fuPbThxOxLYFzTuqZde8gjE+Jps5pGIOmWDHbTHW92
JAmHfIcnRXKlacKQ/WWPX4Bmet9505IGftuHLinMEp10xmTSgiG/a/8CXrN/Jg==

Возможные настройки

ПараметрЗначение по умолчаниюОписание
Recursive queryПозволяет получить расширенную версию WHOIS
WHOIS serverПозволяет задать свой WHOIS сервер
Checking by DNSПозволяет проверять зарегистрирован ли домен исходя из существования IP по домену
Checking domains by DNS recordПроверка IP, если находит status ALLOCATED, то определяет домен как зарегистрированный, если опция отключена, то проверка IP не происходит вовсе
Force DNS check for not found domainsПринудительная проверка если домен был определён как не зарегистрированный