Массовая проверка доменов на занятость с помощью Python — Serg Al на vc.ru
Поиск и проверка доменов на занятость может занять какое-то время и если это делать руками, то это довольно длительный и сложный процесс.
1508 просмотров
Недавно нашел у ребят в телеграм канале @py4seo вот такое необычное и простое решение. Автоматизация упрощает работу и освобождает ваши руки для более важных дел.
Поэтому, когда выпадает возможность и время мы всегда стараемся как можно больше автоматизировать рутинные задачи в SEO.
Итак, для процедуры автоматизации проверки доменов на занятость, нам понадобится Python, и всего одна дополнительная библиотека.
1. Открываем командную строку и устанавливаем дополнительную библиотеку python — pip install python-whois — данная библиотека поможет нам проверить домен на занятость используя сервисы whois
2. После установки библиотеки все готово для запуска кода.
2.1 Кроме библиотеки python-whois нам необходима еще одна библиотека, которую не нужно устанавливать, так как она входит в стандартные библиотеки Python и устанавливается вместе с Python — это библиотека re.
3. Для того чтобы работать с библиотеками нам необходимо их импортировать, поэтому импортируем наши библиотеки:
import whois import re
4. Доменные имена проще читать из файла, для большего удобства, чтобы не создавать список в самой программе, поэтому создаем текстовый документ в переменной среде path, у меня он будет называться 1.txt, в нем указываем домены, которые будут проверяться, каждый домен с новой строки (без http и www, чисто домен) и возвращаемся к коду и укажем программе, что мы хотим открыть файл:
f = open(‘1.txt’)
5. После открытия файла, нам нужно его прочитать, мы будем читать файл построчно перебирая все домены в нем по порядку и так как каждый домен указан с новой строки, это будет удобно:
s = f.readline()
Так как мы читаем домены из файла построчно, то необходимо создать цикл, чтобы программа брала каждый домен и проверив его, переходила к другому, создаем цикл:
while(s):
В цикле мы используем переменную s, которая равна нашему домену, который был извлечен из файла, но так как Python считывает всю информацию из файла, то после домена идет перевод строки и нам необходимо его убрать, кроме этого могут быть другие лишние символы, которые нам тоже не нужны, поэтому уберем их с помощью регулярного выражения:
s = re. \s+|\n|\r|\s+$», », s)
6. И вот мы уже на финальной прямой)). Следующим шагом будет обращение к библиотеке python-whois, тут мы спросим у нее, есть ли данные по домену находящемуся в переменной s. И если данные есть выведем на экран фразу «Домен занят», а если же нам повезло и домен свободен, то мы используя исключение получим на экран «Домен свободен»:
try: m = whois.whois(s) print(«Домен занят») except: print(«Домен свободен») finally: print(«——————————«) s = f.readline()
Теперь ниже приведу код всей программы полностью для большего удобства и хочу сказать, что для того чтобы ее использовать нет необходимости знать программирование, достаточно установить Python на свой ПК и установить необходимую библиотеку. После чего скопировать код который я приведу ниже и запустить его, но не забудьте создать текстовый файл с перечнем доменов, которые хотите проверить, иначе программа не будет работать корректно. \s+|\n|\r|\s+$», », s) print(s) try: m = whois.whois(s) print(«Домен занят») except: print(«Домен свободен») finally: print(«——————————«) s = f.readline()
Внимание!!! Программа может проверить только домены TLDs, если при запуске появляется ошибка, значит доменная зона не поддерживается (как сканить домены в других доменных зонах, обязательно читайте в наших следующих статьях).
Также важно помнить, что большое количество обращений к серверу whois с одного ip может привести к блокировке вашей айпишки на некоторое время, поэтому лучше использовать прокси для максимально эффективного использования данного кода.
Применить данный код можно в разных вариантах:
— В случае появления освободившегося домена, применив другие библиотеки, сразу же можно отправлять на регистрацию.
— Регулярный запуск кода для постоянного мониторинга освободившихся доменов.
— Голосовое или звуковое оповещение. Запустив код, не нужно будет ждать и смотреть, какой результат выведет проверка, а свернуть выполняющуюся программу и ждать голосовое уведомление, выполняя свои повседневные задачи.
— Парсинг доменов в файл, например из expireddomains, которые еще не освободились, а затем проверять на занятость.
Каждый может сделать тулзу, которая ему больше походит для выполнения той или иной задачи.
И самое важное, помните, что в Python нужно соблюдать отступы или один таб или 4 пробела, код нужно привести к такому виду как он указан на сайте, если при копировании (такое бывает довольно часто) количество отступов изменилось или они пропали вообще.
Блог о программировании — Массовая проверка доменов на занятость и автоматическая регистрация с помощью Python
Проверка доменного имени на занятость это хорошо, но намного удобнее когда проверка сопровождается автоматической регистрацией. Ведь все ждут, когда упадет очередная пачка дропов, а те кто занимается этим регулярно даже примерно знают время.
Но чаще всего время не точное и упустив минуту — две можно пропустить то доменное имя или несколько доменных имен, которые хотелось бы заполучить. Не исключено, что часть доменов будут перехвачены и выкуплены еще до момента падения, но есть и та доля, которая дропнется и будет зарегистрирована вручную.
Мы же можем сделать так, чтобы программа проверяла доменное имя на занятость постоянно и если домен освободился сразу же его регистрировала.
Итак, как будет работать наш код: читаем домены из файла построчно, проверяем на занятость, если домен занят или стоит больше указанной суммы, переходим к слудующему, если же свободен, регистрирует его. Все зарегистрированные доменные имена будут сохранены в отдельный файл с именем домена и его стоимостью.
Первым делом импортируем библиотеки, если библиотеки не установлены, установите их с помощью pip install название модуля, например pip install pandas:
import re import requests import time
Создадим файл в path под названием 1. txt, вы всегда его можете переименовать и дать ему более логиеское имя. Начнем читать файл построчно, кроме этого мы содадим дополнительно несколько переменных, одна из них ключ API доменного регистратора Namesilo, который можно получить в несколько кликов в личном кабинете. Да чут не забыл, мы будем использовать доменный регистратор Namesilo. Для того, чтобы использовать данный код, вам необходимо создать учетную запись у этого доменного регистратра, получить ключ API и положить средства на балланс в личном кабинете, которых должно хватать для регистрации доменов. Для теста можно купить самый дешевый домен используя программу, если хотите удостовериться в том, что код работает.
f = open('1.txt') # открываем файл domain_name = f.readline() # считываем первую строку api_key = "указываем ключ API доменного регистратора Namesilo, он должен быть заключен в кавычки, как этот текст" count = 0 # устанавливаем счетчик для будущего цикла, который будет считать количество проверок
Далее, создадим два файла, в которые будем ложить зарегистрированные домены — в один и домены дороже определнной суммы — в другой. Для создания файлов, открываем их в режиме записи, в таком случае Python создаст файл, если его не существует или же перезапишет, если файл существует. Будьте внимательны, испльзуя автоматическое создание файлов, при каждом запуске кода, такой файл будет перезаписан:
with open("registered_domains.txt", "w", encoding='utf-8') as file: pass with open("expensive_domains.txt", "w", encoding='utf-8') as new_file: pass
Чтобы объяснить следующий код забежим немного наперед. Создадим функцию, которая будет записывать файл превышающий стоимость домен или зарегистрированнй вами домен и удалять из файла с доменами зарегистрированный домен чтобы избежать повторной проверки:
def registered_or_expensive(file_write_name, file_delete_name, price, answer): with open(file_write_name, "a") as file: file.write(f'{domain_name} {price} {str(domain_price)}\n') print(answer) with open(file_delete_name, "r+") as f: new_f = f.readlines() f. \s+|\n|\r|\s+$", '', domain_name) response_url = f'https://www.namesilo.com/api/checkRegisterAvailability \ ?version=1&type=xml&key={api_key}&domains={domain_name}' response = requests.post(response_url).text a = response.split()
Получив ответ, проверим его на соответствие, если домен занят, код отправиться читать следующий домен из файла, если же свободен, получит цену и если она меньше 10 долларов (модно указать любую сумму), приступит к регистрации. Если на счету нет средств, будет выведено соответствующее сообщение и код пойдет читать следующее доменное имя (здесь можно прервать выполнение программы, но если будет указана максимальная сумма выше стандартной за домен, к примеру 200 долларов, а у вас на счету будет 199, то сканирование прервется, так как код посчитает, что у вас недостаточно денег на счету, и вы не сможете приобрести доменные имена, которые идут в списке ниже.). Если же средства есть и домен свободен, то будет выведено сообщение о регистрации и домен будет зарегистрирован. 0-9.]+’, r», str(a[3]))) print(domain_name, domain_price) if domain_price
Приймите во внимание, что код можно изменить и использовать как удобнее каждому: 1. Записывать данные в файлы или же выводить в таблицу, 2. Подключить прокси и юзерагенты для более длительного использования кода. 3. Задать автоматический запуск в определенное время. 4. Проверять дату по WHOIS и в зависимости от этого сканировать домен или же подождать. 5. Изменить сервис регистрации Если вас интересует доработка или разработка, обращайтесь к администратору в нашем телеграм канале.
И самое важное, помните, что в Python нужно соблюдать отступы или один таб или 4 пробела, код нужно привести к такому виду как он указан на сайте, если при копировании (такое бывает довольно часто) количество отступов изменилось или они пропали вообще.
Не забудьте подписаться на наш телеграм канал@py4seo, будет еще много интересного
Все бэкслеши в конце строк можно удалить и убрать перенос строки, т. е. грубо говоря бэкслеш говорит питону от том, что тут код очень длинный, делаем перенос строки.
А теперь ловите полную версию кода, просим вас не публиковать код без указания источника, спасибо за понимание:
import re import requests import time f = open('1.txt') domain_name = f.readline() api_key = "6ac329b820cbaa7ac52a6" count = 0 with open("registered_domains.txt", "w", encoding='utf-8') as registered_domains: pass with open("expensive_domains.txt", "w", encoding='utf-8') as expensive_domains: pass def registered_or_expensive(file_write_name, file_delete_name, price, answer): with open(file_write_name, "a") as file: file.write(f'{domain_name} {price} {str(domain_price)}\n') print(answer) with open(file_delete_name, "r+") as my_file: new_f = my_file.readlines() my_file.seek(0) for line in new_f: if domain_name not in line: my_file.write(line) my_file.truncate() while count
Зарегистрируйте домен вакансий — сэкономьте деньги сейчас
Правильное окончание домена для вашего успеха — например, . jobs из категории International
16,69 евро в месяц 1
Легко запомнить и найти
Оживите свой домен .jobs
Веб-хостинг
Полностью сосредоточьтесь на своем проекте! Производительность и безопасность в комплекте
Предложения веб-хостингаКонструктор сайтов
Создайте свою домашнюю страницу без каких-либо знаний в области программирования
Создать сайтСайт-сервис
Мы создадим и поддержим ваш сайт профессионально и быстро
Позвольте создать веб-сайтИнструмент Google SEO
Оптимизируйте свой веб-сайт и достигните первых позиций в рейтинге
Оптимизировать сайтОбратите внимание, : к этому домену применяются особые требования
Цена в месяц 1
16,69 €
Минимальный срок
12 месяцев
Период аннулирования 9 0003
14 дней
Плата за установку
0,00 €
Комиссия за перевод
0,00 €
Плата за обновление
0,00 €
Плата за восстановление
118,61 €
Плата за смену владельца
0,00 €
- 1 Цены включают НДС 19% (Германия)
5 веских причин для домена
на checkdomain Приватность домена
опционально заказывать отдельно
Благодаря конфиденциальности домена мы анонимизируем ваш адрес электронной почты и номер телефона в общедоступных каталогах Whois.
Удобная переадресация почтыВы можете бесплатно пересылать электронные письма на другой адрес электронной почты.
Удобная переадресация доменаВы можете перенаправить любой интернет-адрес (домен), зарегистрированный в checkdomain, на другой адрес, если хотите.
Местоположение немецкого сервераЗащита данных — наш самый ценный актив, поэтому все наши центры обработки данных расположены в Германии. Веб-хостинг «Сделано в Германии», с безопасностью и 100% экологичным электричеством!
Персональная экспертная поддержкаЕсли вам нужна поддержка? Мы будем рады помочь. Наша торговая марка: фантастическая поддержка — лично, индивидуально и компетентно.
Вся информация
Здесь вы найдете всю информацию о функциях, услугах, поддержке и оплате вашего домена.
- Недвижимость
- Особенности
- Обслуживание и поддержка
- Биллинг
Сколько символов должно быть в домене .JOBS? 3 символа
Какое максимальное количество символов может содержать домен .JOBS? 60 символов
Могу ли я использовать немецкие умляуты (специальные символы) в имени домена? Нет
Может ли доменное имя состоять только из цифр? №
Письмо о намерениях (для чего вы планируете использовать домен?) №
Где я могу найти правила закупок реестра? Связь
Существуют ли правила закупок для этого домена? Да
Применяются ли дополнительные условия? Да
Живая регистрация
Вы станете владельцем и администратором домена . ВАКАНСИИ домен (владелец домена).
Веб-интерфейс для управления . ВАКАНСИИ домен
Доступ к DNS-серверам (например, возможны записи A, NS, MX, CNAME, SPF)
Предварительно настроенные доменные службы (например, DynDNS, Sedo, Google, BloggerTM, MobileMe) JOBS для таких известных сервисов, как DynDNS, Sedo, Google, BloggerTM, MobileMeon, одним нажатием кнопки». >
Субдомены
Настоящий URL будет скрыт при перенаправлении.
Переадресация почты
Бесплатная поддержка по электронной почте
Вы станете владельцем и администратором домена . ВАКАНСИИ домен (владелец домена).
бесплатная поддержка через нашу онлайн-помощь
Четкая панель управления
Минимальный срок: 12 месяцев, которые оплачиваются заранее.
Период уведомления: не менее чем за 14 дней до истечения текущего периода регистрации.
Способ оплаты: PayPal, прямой дебет, кредитная карта (Visa, Master, Amex). Оплата банковским переводом возможна только для компаний.
Мы будем рады помочь вам
«Здравствуйте, меня зовут Матиас Франке! Вместе с моей командой мы предоставляем фантастическую поддержку, которую ценят и любят наши клиенты».
Бесплатная консультация от команды +49 (0) 451 / 70 99 70Быстрая проверка доменного имени и поисковая система. Бесплатный инструмент для предложений
домены поиска
Поиск Поиск
Фильтры
0/11
Предложения доменов
0/213
Категории доменов
Нет результатов
Представляем вашему вниманию бесплатную систему, позволяющую проверить домен и найти свободное доменное имя в большинстве зон. Эта процедура необходима любой серьезной компании в любой сфере деятельности.
Чтобы начать, просто введите доменное имя в поле поиска. Через несколько секунд вы будете знать, какой домен доступен для регистрации, а какой зарегистрирован в данный момент (владельцу нужно будет только его передать). Найдя наиболее подходящее доменное имя, достаточно внести его в корзину, оформить заказ по самой доступной цене в Интернете. Домен регистрируется в процессе обработки заказа.
Доступность домена можно проверить бесплатно и быстро благодаря этой системе. Доступные параметры домена можно проверить для определенного слова. С помощью кнопки «Доменные зоны» можно легко найти в параметрах опции для различных сфер деятельности. Пользователь может заказать варианты доступные и недоступные для трансферов.
Если вам нужно выбрать доменное имя, то этот брутфорс делать не обязательно. Наш сервис позволит вам выбрать имя для вашего домена. Проверить домен на занятость достаточно просто: достаточно ввести любое из ключевых слов (либо 2 и более сразу) — либо на английском, либо на русском языке. Далее с помощью программы-генератора будет выбран удачный вариант. Вы можете выбрать домен по вашему выбору.
Наше преимущество
Наша система позволяет проверить занятость доменного имени, имеет следующие преимущества:
- Простое управление доменами. Любому владельцу домена предоставляется удобная панель для управления именем. Он не требует специальных знаний.
- Безопасность личной информации. Сразу после регистрации доменного имени Ваша личная информация недоступна всему Интернету. Мы защищаем вашу конфиденциальность. Специальные сервисы позволяют скрыть эти данные от чужого внимания.
- Качественная техническая поддержка. Наши специалисты работают круглосуточно, не зная выходных.
- Низкие цены и скидки.
Выберите доменное имя с помощью нашего сервиса — Ваш лучший выбор
Проверка домена займет немного времени. Можно указать его имя полностью или только частично. Система автоматически проверит домены сразу в нескольких зонах и подберет подходящие варианты.
Мы используем удобные и безопасные инструменты для проверки и регистрации домена. Расширение инструментов поиска позволит вам выбрать лучшее, а наши инструменты управления позволят вам реализовать весь потенциал.