/Melon

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

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Melon

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

Проект приветствует добавление парсеров сторонними разработчиками. Для этого создана и постоянно актуализируется подробная документация:

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

  1. Скачать и распаковать последний релиз.
  2. Убедиться в доступности на вашем устройстве Python версии 3.10 или новее.
  3. Открыть каталог со скриптом в терминале: можно воспользоваться командой cd или встроенными возможностями файлового менеджера.
  4. Создать виртуальное окружение Python.
python -m venv .venv
  1. Активировать вирутальное окружение.
# Для Windows.
.venv\Scripts\activate.bat

# Для Linux или MacOS.
source .venv/bin/activate
  1. Установить зависимости.
pip install -r requirements.txt
  1. Произвести настройку путём редактирования файла Settings.json.
  2. В вирутальном окружении указать для выполнения интерпретатором файл main.py, передать ему необходимые параметры и запустить.

Консольные команды

Вся документация по CLI поставляется в самообновляемом формате. Для получения доступа к ней используются следующие команды:

# Список доступных команд.
main.py help

# Подробная информация о конкретной команде.
main.py help command

Настройки

Для каждого парсера в его же каталоге поставляется файл settings.json. Он обязан содержать следующие разделы: common, proxy, custom. Таким образом достигается максимальная гибкость конфигурации.

common

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


"archives_directory": ""

Указывает, куда сохранять построенный контент. При пустом значении будет создана директория Output/[PARSER_NAME]/archives в каталоге запуска Melon. Рекомендуется оформлять в соответствии с принципами путей в Linux.


"covers_directory": ""

Указывает, куда сохранять обложки тайтлов. При пустом значении будет создана директория Output/[PARSER_NAME]/covers в каталоге запуска Melon (для каждого тайтла создаётся дополнительный вложенный каталог с названием в виде используемого имени описательного файла). Рекомендуется оформлять в соответствии с принципами путей в Linux.


"titles_directory": ""

Указывает, куда сохранять описательные файлы. При пустом значении будет создана директория Output/[PARSER_NAME]/titles в каталоге запуска Melon. Рекомендуется оформлять в соответствии с принципами путей в Linux.


"bad_image_stub": ""

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


"pretty": false

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


"use_id_as_filename": false

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


"sizing_images": false

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


"legacy": false

Включает режим совместимости с устаревшими форматами DMP-V1 и DNP-V1.


"retries": 1

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


"delay": 1

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

filters

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


"text_regexs": []

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


"text_strings": []

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


"image_md5": []

Список MD5-хэшей игнорируемых изображений.


"image_min_height": null

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


"image_min_width": null

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


"image_max_height": null

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


"image_max_width": null

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

proxy

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


"enable": false

Переключает использование прокси-сервера.


"host": ""

Указывает IP-адрес прокси-сервера.


"port": ""

Указывает порт прокси-сервера.


"login": ""

Указывает логин для авторизации на прокси-сервере. Необязательный параметр для публичных серверов.


"password": ""

Указывает пароль для авторизации на прокси-сервере. Необязательный параметр для публичных серверов.

custom

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

Copyright © DUB1401. 2024.