Skip to content

Latest commit

 

History

250 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Melon

Melon – это модульная система управления парсерами манги и ранобэ, способная получать информацию о тайтлах, сохранять её в формате JSON, запрашивать обновления и собирать контент в удобный для ознакомления формат.

Мы уважаем труд организаций, предоставляющих контент, и потому не поставляем никаких решений, связанных с нелегальным получением доступа к платному контенту, а также для снижения нагрузки на эти ресурсы задаём небольшую задержку между запросами.

Порядок установки и использования

  1. Для установки необходимо наличие Python версии 3.12 или новее на вашем устройстве. Создайте вирутальное окружение Python, после чего активируйте его и установите Melon.
python3 -V
python3 -m venv .venv
source .venv/bin/activate
pip install git+https://github.com/otaku-melons/melon
  1. После этого вы сможете использовать Melon внутри виртуального окружения, не захламляющего вашу систему пакетами.
melon help && pxm help
  1. Добавьте Git-репозиторий для необходимого парсера.
pxm repos --add https://github.com/otaku-melons/{PARSER}
  1. Установите парсер, при необходимости настройте его файл конфигурации в директории configs используя инструкцию ниже.
pxm install {PARSER}
  1. Соберите описательный JSON-файл установленным парсером.
melon parse {SLUG} --use {PARSER}
  1. Постройте готовый для ознакомления контент из описательного файла.
melon build-manga {FILE} --use {PARSER}

Note

Melon не проходит тестирование на Windows или MacOS, поскольку эти ОС не являются целевыми платформами, но теоретически полностью работоспособен на них. Мы всегда рады обратной связи.

Конфигурация парсеров

Для каждого парсера может поставляться файл конфигурации с названием парсера в директории configs. При составлении конфигурации Melon использует базовые настройки любого парсера, затем последовательно объединяет их с файлом settings.json из домашнего каталога парсера и файлом конфигурации из configs. Таким образом достигается неизменяемость файлов парсеров.

Структура файла настроек унифицирована, последний vj;tn cjlth;fnm следующие разделы: directories, common, filters, proxies, custom.

directories

В этом разделе можно переопределять выходные каталоги парсеров.


"content": null

Указывает, куда сохранять построенный контент. При пустом значении будет создана директория output/{PARSER}/content в каталоге запуска Melon.


"images": null

Указывает, куда сохранять связанные с контентом изображения: обложки тайтлов, иллюстрации, портреты персонажей. При пустом значении будет создана директория output/{PARSER}/images в каталоге запуска Melon (для каждого тайтла создаётся дополнительный вложенный каталог с названием в виде используемого имени описательного файла).


"titles": null

Указывает, куда сохранять описательные файлы. При пустом значении будет создана директория output/{PARSER_NAME}/titles в каталоге запуска Melon.

common

Данный раздел содержит обязательные базовые параметры парсера.


"bad_image_stub": ""

Указывает путь к изображению, которое будет заменять содержимое загружаемого слайда, по определённым критериям не являющегося валидным (битый файл, очень малый размер, неверный формат).


"pretty": false

Включает обработку контента для улучшения качества. Например, удаляет точки в конце названий глав манги или пустые абзацы из ранобэ.


"use_id_as_filename": false

Указывает способ именования описательных файлов и зависимых каталогов. При активации будет использоваться целочисленный идентификатор, по умолчанию – алиас.


"sizing_images": false

Указывает, следует ли пытаться найти данные о разрешении изображений и заносить их в описательный файл.


"retries": 1

Указывает количество повторов запроса при неудачном выполнении.


"delay": 1

Задаёт интервал в секундах, выжидаемый между последовательными запросами к серверу.

filters

Здесь указываются опциональные фильтры контента. Поддерживается два типа данных: текст и изображение (это отображается в названиях ключей). Сама секция является опциональной и может быть удалена из настроек.


"text_regexs": []

Список регулярных выражений для поиска удаляемых строк.


"text_strings": []

Список удаляемых строк.


"image_min_height": null

Минимальная высота валидного изображения.


"image_min_width": null

Минимальная ширина валидного изображения.


"image_max_height": null

Максимальная высота валидного изображения.


"image_max_width": null

Максимальная ширина валидного изображения.

proxy

Данный раздел содержит список HTTP(S) прокси-серверов, используемых для запросов. При указании нескольких серверов будет происходить их случайная ротация. Формат записи представляет из себя строку вида https://{LOGIN}:{PASSWORD}@{HOST}:{PORT}.

custom

Данный раздел содержит кастомные параметры отдельных парсеров, не поддающиеся унификации.

Переменные среды

Melon поддерживает переопределение некоторых параметров через переменные среды, автоматически считывая файл .env в исполняемом каталоге. Все переменные должны быть представлены в верхнем регистре и подразделяются на два типа:

  • переменные пути – сообщают существующий валидный путь внутри одной файловой системы;
  • логические переключатели – могут принимать текстовые регистронечувствительные значения true или false, а также беззнаковые целочисленные значения 0 и 1.
Переменная Тип значения Описание
MELON_CONFIGS_DIR Path Путь к каталогу конфигураций парсеров. По умолчанию configs.
MELON_DEBUG bool Переключает режим отладки.
MELON_DEFAULT_OUTPUT_DIR Path Путь к базовому выходному каталогу, использующемуся при отсутствии определений в конфигурации парсера. По умолчанию output.
MELON_TEMP_DIR Path Путь к каталогу временных файлов парсеров. По умолчанию temp.

Copyright © DUB1401. 2024-2026.

About

Модульный парсер манги и ранобэ с поддержкой множества источников контента.

Topics

Resources

Stars

12 stars

Watchers

2 watching

Forks

Releases

Contributors

Languages