Custom Base - незаменимый помощник в работе с базами!
Когда клиенты заказывают написание любых чекеров, то одной из задач чаще всего становится форматирование базы под определенный(ые) сервисы(ы). И я подумал, что будет неплохо сделать почти универслаьный инструмент для работы с базами. Так и появился на свет CustomBase.
На первый взгляд может показаться, что софтина сложная в освоении. Но это не так. Один раз настроите и дальше уже будете профи :)
Давайте сначала пройдемся по всем настройкам, а потом я покажу на конкретном примере, как можно работать с софтом.
НАСТРОЙКИ И ПОЯСНЕНИЯ
Введите название базы (любое) - здесь указывается название базы с которой работаете. Это название пойдет в выходной файл.
Файл для работы - здесь понятно, это наша база. Поддерживается формат .txt Количество строк может быть любым, но лучше конечно делить на части.
Удалять повторы строк - софт почистит базу от дублей.
Папка для сохранения результатов - сюда сохраняются результаты
На этом основные настройки окончены. Переходим к КОНСТРУКТОРУ СТРОК.
Количество элементов в строке - указываем количество элементов, которые нам нужны или которые есть в строке. Доступно до пяти элементов.
Например в нашей базе есть такие строки:
В данном примере мы видим что в одной строке есть ДВА элемента с разделителем ":". А вот пример с тремя элементами:
Разделитель - это разделитель, который делит нашу строку из базы на элементы.
Вы можете выбрать любой из доступных, который соответсвует вашей базе. Если такого разделителя нет, используйте параметр "custom" и задайте свой разделитель:
Обрезать главную строку перед началом работы. Один из важнейших параметров, который сильно упростит работу с базами! Если выбрать значение параметра "Да", то вам будет предложено указать количество вырезаемых элементов и сами элементы. Давайте разберем на конкретном примере.
Представим, что у нас база имеет такой вид:
В этой базе у нас 3 элемента, которые делит ":". Обратите внимание, что после https так же есть двоеточие. Если мы оставим строку в таком виде, то конечный результат будет неверным, так как софт будет думать, что https - это первый элемент. Чтобы результат был правильным нам надо будет указать в настройках работу не с тремя элементами, а с четырьмя. И это сработает (далее поймете почему). Но правильнее будет обрезать ненужный элемент из общей строки. Для этого нам нужно будет указать такие настройки:
Таким образом программа подкорректирует строки к такому виду:
Это то что нам нужно! В одной строке можно сделать до трех разных вырезок. Зависит от конкретных задач. Ниже будет большой пример, там разберем подробнее.
Спец. настройки для элемента n - если поставить галочку в чек-боксе, то вам откроется дополнительное меню для каждого элемента:
Таким образом, грамотно настроенный конструктор строк - это 50% успеха!
Теперь поговорим о конкретных настройках элементов.
Поиск подстроки - этот параметр позволяет искать определенную подстроку в элементе и если такая подстрока есть, то скрипт работает с элементом:
Давайте разберем пример. У нас есть такие строки:
Здесь три элемента в строке. Нас интересуют строки, где есть "google.ru". Эту информацию содержит в себе ПЕРВЫЙ элемент. Значит нам необходимо в настройках для элемента 1 указать поиск подстроки "Да" и написать google.ru:
Таким образом скрипт будет работать только с теми строками, в которых есть google.ru. Если же нам надо искать yandex.ru и google.ru, то просто выбираем тип данных "из файла" --> и загружаем документ в котором будут требуемые подстроки:
Если же в параметре "поиск подстроки" мы поставим "Нет", то у нас откроются новые настройки.
Маркер - это набор параметров по которым скрипт будет работать с элементом:
- Только заглавные (сработает, если в элементе только заглавные)
- Только цифры (сработает если в элементе только цифры)
- Только спец.символы (сработает, если в элементе только спец. символы)
- Custom (если требуется настроить более точно работу с элементом)
Разберем подробнее параметр "Custom"
Если нам нужно, чтобы в элементе срабатывало какое-то определенное условие, то мы ставим галочку напротив этого условия.
Минимальная и максимальная длина - эти параметры задают длину элемента по количеству символов. Если длина подходит для заданных рамок, то скрипт работает с этим элементом.
Сохранять элемент - параметр, который отвечает за сохранение итогового документа. Допустим у вас в строках 5 элементов (site:login:pass:token:cokies). Вам для работы нужны только логины и пароли. При этом требуется проверить параметр токен. Для этого мы настраиваем нужные элементы, но галочку "сохранить" ставим только в элементе 2 и 3. На выходе, в случае успеха, мы получим login:pass без лишних записей.
ПРИМЕРЫ
Давайте закрепим полученную информацию. Возьмем для примера недваний слив сайта пикабу. Слитая база имеет такой вид:
1) Три элемента (никнейм - телефон - почта)
2) Разделитель (обратите внимание, разделитель НЕ пробел, а " "!)
Задача 1: собрать все строки, где есть почта gmail.com.
Выставляем подходящие настройки:
Для данной задачи нам не нужно проверять первые два элемента, поэтому мы не трогаем спец.настройки для них.
В работе у нас 1661 строка. Жмем старт. Может показаться, что скрипт завис, но это не так! Через 10 секунд мы получаем готовый результат:
В название документа в скобках указано время, когда была сделана проверка и дата + название, которое мы задали на старте. Открываем документ и сравниваем:
Как видно, скрипт отработал корректно.
Задача 2: собрать все строки, где есть почта gmail.com, yandex.ru и сохранить ТОЛЬКО никнеймы!
Для выполнения этой задачи нам нужно проверить ТРЕТИЙ элемент, а осхранить только ПЕРВЫЙ (если заданные условия сработают)
Обратите внимание на настройки второго элемента. Так как нам его проверять не нужно, то мы ставим длину по максимуму и не сохраняем его!
Как видно, сохранились только никнеймы по заданным параметрам. А теперь давайте усложним немного задачу.
Задача 3: собрать все строки, где в логине есть заглавная буква и цифра, а телефон содержит минимум три нуля в номере.
Ну и давайте теперь закрепим все последней задачей.
Задача 4: собрать данные, в которых в логине только заглавные; в номере телефона обрезать "+7" и удалить нули; в почте забрать те, которые по длине не более 17 символов.
Как видите, Custom Base это очень гибкий инструмент для работы с базами. Вы можете легко сохранять ваши предустановленные настройки под любой запрос. Если остались какие-то вопросы, пишите, подскажу/научу.
Так же могу дописать софт под ваши нужды.