Remanga Parser – это кроссплатформенный скрипт для получения данных с сайта Remanga в формате JSON. Он позволяет записать всю информацию о конкретной манге, а также её главах и содержании глав. В скрипт также встроен модуль сборки глав в виде ZIP-архивов.
- Скачать и распаковать последний релиз.
- Убедиться в доступности на вашем устройстве Python версии не старше 3.10.
- Открыть каталог со скриптом в терминале: можно воспользоваться командой
cd
или встроенными возможностями файлового менеджера. - Создать виртуальное окружение Python.
python -m venv .venv
- Активировать вирутальное окружение.
# Для Windows.
.venv\Scripts\activate.bat
# Для Linux или MacOS.
source .venv/bin/activate
- Установить зависимости.
pip install -r requirements.txt
- Произвести настройку путём редактирования файлов Settings.json и Proxies.json.
- В вирутальном окружении указать для выполнения интерпретатором файл
main.py
, передать ему необходимые параметры и запустить.
build [FILENAME*] [TARGET] [FLAGS] [KEYS]
Собирает из описательного файла архивы глав и помещает их в каталог Output внутри директории скрипта. Сборщик поддерживает следующие форматы: DMP-V1 и RN-V2.
Описание позиций:
- FILENAME – описательный файл, использующийся для сборки. Обязательная позиция.
- Аргумент – имя файла в директории тайтлов. Можно указывать как с расширением, так и без него.
- TARGET – цель внутри описательного файла тайтла для сборки.
- Флаги:
- --branch – указывает, что необходимо выполнить сборку ветви с переданным ID;
- --chapter – указывает, что необходимо выполнить сборку главы с переданным ID;
- --volume – указывает, что необходимо выполнить сборку тома с переданным номером (автоматически выбирается ветвь с наибольшим количеством глав).
- Флаги:
Список специфических флагов:
- -cbz – указывает, что архивы на выходе должны иметь формат *.CBZ;
- -no-delay – отключает интервал между последовательными запросами к серверу;
- -no-filters – отключает фильтрацию слайдов размером менее 5 KB.
collect [FLAGS] [KEYS*]
Собирает коллекцию из алиасов тайтлов, соответствующих набору фильтров в каталоге Remanga. Собранные алиасы добавляются в файл Collection.txt в порядке убывания даты публикации.
Important
Такие фильтры, как page и ordering зарезервированы сборщиком и не могут быть использованы.
Список специфических флагов:
- -f – удаляет содержимое файла коллекции перед записью.
Список специфических ключей:
- --filters – задаёт набор фильтров из адресной строки, разделённых амперсантом
&
и заключённых в кавычки"
.
convert [FILENAME*] [SOURCE_FORMAT*] [OUTPUT_FORMAT*]
Преобразует внутреннюю структуру JSON файлов определений тайтлов согласно одному из поддерживаемых форматов: DMP-V1, RN-V1, RN-V2.
Описание позиций:
- FILENAME – цель для конвертирования. Обязательная позиция.
- Аргумент – имя файла в директории тайтлов. Можно указывать как с расширением, так и без него.
- Флаги:
- -all – указывает, что необходимо конвертировать все локальные файлы JSON.
- SOURCE_FORMAT – исходный формат. Обязательная позиция.
- Аргумент – название формата из списка в любом регистре.
- OUTPUT_FORMAT – целевой формат. Обязательная позиция.
- Аргумент – название формата из списка в любом регистре.
- Флаги:
- -auto – берёт название формата из ключа
format
внутри описательного файла JSON.
- -auto – берёт название формата из ключа
get [URL*] [KEYS]
Загружает любое изображение с сайта Remanga.
Описание позиций:
- URL – ссылка на загружаемое изображение. Обязательная позиция.
- Аргумент – ссылка на изображение.
Список специфических ключей:
- --dir – указывает директорию для сохранения файла;
- --name – указывает новое название файла (не меняет расширение).
getcov [MANGA_SLUG*] [FLAGS]
Загружает обложки конкретного тайтла, алиас которого передан в качестве аргумента.
Список специфических флагов:
- -f – включает перезапись уже загруженных обложек.
manage [FORMAT*] [RULE*]
Удаляет или перемещает файлы JSON, формат которых отличается от заданного.
Описание позиций:
- FORMAT – целевой формат, которому должны принадлежать файлы, остающиеся в директории тайтлов.
- Аргумент – название формата из списка в любом регистре.
- RULE – правило обработки файлов, не соответствующих заданному формату.
- Флаги:
- -del – указывает, что файлы JSON, формат которых отличается от заданного, необходимо удалить.
- Ключи:
- --move – указывает, что файлы JSON, формат которых отличается от заданного, необходимо переместить в указанную директорию.
- Флаги:
parse [TARGET*] [MODE] [FLAGS] [KEYS]
Проводит парсинг тайтла с указанным алиасом в JSON формат и загружает его обложки. В случае, если файл тайтла уже существует, дополнит его новыми данными.
Описание позиций:
- TARGET – задаёт цель для парсинга. Обязательная позиция.
- Аргумент – алиас тайтла для парсинга.
- Флаги:
- -collection – указывает, что список тайтлов для парсинга необходимо взять из файла Collection.txt;
- -local – указывает для парсинга все локальные файлы.
- MODE – указывает, какие данные необходимо парсить.
- Флаги:
- -onlydesc – будет произведено обновление только описательных данных тайтла, не затрагивающее ветви перевода и главы.
- Флаги:
Список специфических флагов:
- -f – включает перезапись уже загруженных обложек и существующих JSON файлов.
Список специфических ключей:
- --from – указывает алиас тайтла, с момента обнаружения которого в коллекции тайтлов необходимо начать парсинг.
proxval [FLAGS]
Выполняет валидацию всех установленных прокси и выводит результат на экран.
Список специфических флагов:
- -f – дополнительно производит сортировку прокси внутри файла определений согласно их статусам валидации.
repair [FILENAME*] [CHAPTER_ID*]
Обновляет и перезаписывает сведения о слайдах конкретной главы в локальном файле.
Описание позиций:
- FILENAME – название локального файла, в котором необходимо исправить слайды. Обязательная позиция.
- Аргумент – имя файла в директории тайтлов. Можно указывать как с расширением, так и без него.
- CHAPTER_ID – ID главы в локальном файле, слайды которой необходимо заново получить с сервера. Обязательная позиция.
- Ключи:
- --chapter – указывает ID главы.
- Ключи:
unstub
Удаляет из всех локальных файлов заглушки обложек, похожие на фильтры, а также сами файлы заглушек.
update [MODE] [FLAGS] [KEYS]
Проводит парсинг тайтлов, в которые за интервал времени, указанный в Settings.json, были добавлены новые главы.
Описание позиций:
- MODE – указывает, какие данные необходимо обновлять. Может принимать следующие значения:
- Флаги:
- -onlydesc – будет произведено обновление только описательных данных тайтла, не затрагивающее ветви перевода и главы.
- Флаги:
Список специфических флагов:
- -f – включает перезапись уже загруженных обложек и существующих JSON файлов.
Список специфических ключей:
- --from – указывает алиас тайтла, с момента обнаружения которого в списке обновляемых тайтлов необходимо начать обработку обновлений.
Данный тип флагов работает при добавлении к любой команде и выполняет отдельную от оной функцию.
- -s – выключает компьютер после завершения работы скрипта.
"token": ""
Токен авторизации аккаунта Remanga для доступа к 18+ произведениям. Получить можно из одноимённого поля заголовка GET-запросов на страницах с контентом для взрослых.
"subscription": false
Указывает, имеется ли активная подписка у аккаунта, токен которого используется для парсинга. Позволяет получать платный контент.
"format": "rn-v2"
Задаёт внутреннюю структуру описательных файлов тайтлов. Поддерживаются следующие форматы: DMP-V1, RN-V1, RN-V2.
"use-proxy": false
Указывает, следует ли использовать прокси-сервера.
"ru-links": true
Для региона РФ выделены отедльные сервера изображений. Если вы находитесь на территории данной страны или используете её прокси, рекомендуется включить данный параметр для преобразования базовых ссылок в русифицированные.
"check-updates-period": 60
Указывает, обновления за какой период времени до запуска скрипта (в минутах) нужно получить.
"use-id-instead-slug": false
При включении данного параметра файлы JSON и директория обложек тайтла будут названы по ID произведения, а не по алиасу. При этом уже существующие данные можно автоматически обновить командой rp.py update -local
.
"titles-directory": ""
Указывает, куда сохранять JSON-файлы тайтлов. При пустом значении будет создана папка Titles в исполняемой директории скрипта. Рекомендуется оформлять в соответствии с принципами путей в Linux, описанными здесь.
"covers-directory": ""
Указывает, куда сохранять обложки тайтлов. При пустом значении будет создана папка Covers в исполняемой директории скрипта. Рекомендуется оформлять в соответствии с принципами путей в Linux, описанными здесь.
"filter-covers": true
Переключает режим фильтрации заглушек для тайтлов, не имеющих собственных обложек. В активном состоянии похожие на шаблоны обложки не будут сохранены и добавлены в JSON.
"delay": 1
Задаёт интервал в секундах для паузы между GET-запросами к серверу.
"tries": 1
Указывает, сколко раз проводить повторные попытки при ошибке выполнения запроса.
"example": [
{
"https": "http://{USER_NAME}:{PASSWORD}@{IP}:{PORT}"
},
{
"https": "{IP}:{PORT}"
}
]
Указывает два примера настройки для публичного и приватного (требующего логин и пароль) прокси-серверов. Не влияет на работу скрипта.
Warning
Несмотря на использование протокола HTTPS, в ключе прокси-сервера необходимо прописывать «http://». Это связано с особенностями обработки прокси в библиотеке requests.
"proxies": []
Задаёт указанные пользователем прокси-сервера для использования скриптом. При ошибках валидации, проводящейся перед каждым запросом, записи могут быть перемещены в нижеописанные разделы.
"forbidden-proxies": []
Сюда помещаются прокси, вызывающие ошибку 403 или срабатывание капчи CloudFlare при обращении к серверу Remanga.
"invalid-proxies": []
Сюда помещаются прокси, по той или иной причине не годящиеся для установления стабильной связи с сервером или отказавшие в доступе при валидации.
Copyright © DUB1401. 2022-2024.