Net::Whois - Парсер Whois проверяет данные о домене, определяет зарегистрирован домен или нет
Обзор парсера
Данные собираются по протоколу WHOIS с центральных серверов для каждой доменной зоны. Подробнее о WHOIS можно прочитать в Википедии: http://ru.wikipedia.org/wiki/WHOIS
Функционал A-Parser позволяет сохранять настройки парсинга для дальнейшего использования (пресеты), задавать расписание парсинга и многое другое. Вы можете использовать автоматическое размножение запросов, подстановку подзапросов из файлов, перебор цифро-буквенных комбинаций и списков для получения максимально возможного количества результатов.
Сохранение результатов возможно в том виде и структуре которая вам необходима, благодаря встроенному мощному шаблонизатору Template Toolkit который позволяет применять дополнительную логику к результатам и выводить данные в различных форматах, включая JSON, SQL и CSV.
Кейсы по применению парсера
🔗 Выбираем произвольные данные
Net::Whois выбираем произвольные данные
🔗 Параметры доменов
Получение параметров по доменам
🔗 Уведомление о сроках доменов
Получаем уведомления в Telegram об окончании срока регистрации доменов
🔗 Сбор базы e-mail адресов
Пресет позволяет собирать e-mail адреса доменов, через сервис Whois.
Собираемые данные
- Зарегистрирован домен или нет
- Дата окончания регистрации домена
- Когда зарегистрирован домен
- Используемый сервис 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 | ☑ | Принудительная проверка если домен был определён как не зарегистрированный |