Skip to content

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

License

Notifications You must be signed in to change notification settings

Otaku-Melons/Melon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Melon

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

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

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

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

  1. Для установки необходимо наличие системы Git и Python версии 3.10 или новее на вашем устройстве.
git -v
python3 -V
  1. Клонируйте репозиторий Melon рекурсивно (для автоматического включения подмодулей) и перейдите в его каталог.
git clone https://github.com/Otaku-Melons/Melon --recursive
cd Melon
  1. Создайте вирутальное окружение Python, после чего активируйте его и установите зависимости.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
  1. Запустите модуль помощи по установке Melon.
python main.py install
deactivate
  1. После этого вы сможете использовать систему управления парсерами Melon внутри виртуального окружения, не захламляющего вашу систему ненужными пакетами. Для ознакомления с доступными командами выполните:
source .venv/bin/activate
melon help

Warning

На Windows используйте .venv\Scripts\activate вместо source .venv/bin/activate. Кроме того некоторые функции, например использование алиаса melon вместо python main.py, не поддерживаются.

Настройки

Для каждого парсера поставляется файл settings.json. Melon ищет его сразу в директории Configs, а потом в каталоге самого модуля. Настоятельно рекомендуем редактировать этот файл только внутри Configs, это позволит избежать утраты данных при переустановке парсеров, а также поддерживает неизменяемое состояние модулей.

Структура файла настроек унифицирована, последний обязан содержать следующие разделы: common, proxy, filters, 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

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


"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-2025.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages