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

68 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 -all
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. Рекомендуется оформлять в соответствии с принципами путей в GNU/Linux.


"images_directory": ""

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


"titles_directory": ""

Указывает, куда сохранять описательные файлы. При пустом значении будет создана директория Output/[PARSER_NAME]/titles в каталоге запуска Melon. Рекомендуется оформлять в соответствии с принципами путей в GNU/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