An open API service indexing awesome lists of open source software.

https://github.com/dub1401/desuparser

Парсер Desu в формат JSON.
https://github.com/dub1401/desuparser

beautifulsoup4 manga parser requests

Last synced: 12 months ago
JSON representation

Парсер Desu в формат JSON.

Awesome Lists containing this project

README

          

# Desu Parser
**Desu Parser** – это кроссплатформенный скрипт для получения данных с сайта [Desu](https://desu.me/) в формате JSON. Он позволяет записать всю информацию о конкретной манге, а также её главах и содержании глав в формате [DMP-V1](Examples/DMP-V1.md).

## Порядок установки и использования
1. Загрузить последний релиз. Распаковать.
2. Установить Python версии не старше 3.10. Рекомендуется добавить в PATH.
3. В среду исполнения установить следующие пакеты: [BeautifulSoup4](https://launchpad.net/beautifulsoup), [dublib](https://github.com/DUB1401/dublib), [Pillow](https://github.com/python-pillow/Pillow).
```
pip install BeautifulSoup4
pip install dublib
pip install Pillow
```
Либо установить сразу все пакеты при помощи следующей команды, выполненной из директории скрипта.
```
pip install -r requirements.txt
```
4. Настроить скрипт путём редактирования _Settings.json_.
5. Открыть директорию со скриптом в терминале. Можно использовать метод `cd` и прописать путь к папке, либо запустить терминал из проводника.
6. Указать для выполнения главный файл скрипта `dp.py`, передать ему команду вместе с параметрами, нажать кнопку ввода и дождаться завершения работы.

# Консольные команды
```
collect
```
Помещает список алиасов тайтлов, обновлённых на сайте за последние два дня, в файл _Collection.txt_.
___
```
getcov [MANGA_SLUG*] [FLAGS]
```
Загружает обложки конкретного тайтла.

**Описание позиций:**
* _**MANGA\_SLUG**_:
* Аргумент – алиас тайтла. Обязательная позиция.

**Список специфических флагов:**
* _**-f**_ – включает перезапись уже загруженных обложек.
___
```
parce [MANGA_SLUG*] [FLAGS] [KEYS]
```
Проводит парсинг тайтла с указанным алиасом в JSON формат и загружает его обложки. В случае, если файл тайтла уже существует, дополнит его новыми данными.

**Описание позиций:**
* _**MANGA\_SLUG**_:
* Аргумент – алиас тайтла. Обязательная позиция.
* Флаги:
* _**-collection**_ – указывает на то, что список тайтлов для парсинга необходимо взять из файла _Collection.txt_.

**Список специфических флагов:**
* _**-f**_ – включает перезапись уже загруженных обложек и существующих JSON файлов.

**Список специфических ключей:**
* _**--from**_ – указывает, с момента обнаружение какого алиаса необходимо начать парсинг коллекции.
___
```
update [FLAGS] [KEYS]
```
Проводит парсинг тайтлов, обновлённых за интервал времени, указанный в _Settings.json_.

**Список специфических флагов:**
* _**-f**_ – включает перезапись уже загруженных обложек и существующих JSON файлов;
* _**-local**_ – обновляет все локальные файлы JSON.

**Список специфических ключей:**
* _**--from**_ – указывает алиас тайтла, с момента обнаружения которого в списке обновляемых тайтлов необходимо начать обработку обновлений, а eсли таковой не был обнаружен, скрипт пропустит все обновления.

## Неспецифические флаги
Данный тип флагов работает при добавлении к любой команде и выполняет отдельную от оной функцию.
* _**-s**_ – выключает компьютер после завершения работы скрипта.

# Settings.json
```JSON
"sizing-covers": false
```
Указывает, нужно ли определять и записывать в JSON разрешение обложки и слайдов.
___
```JSON
"use-id-instead-slug": false
```
При включении данного параметра файлы JSON и директория обложек тайтла будут названы по ID произведения (коим считается ID первой главы тайтла), а не по алиасу.
___
```JSON
"covers-directory": ""
```
Указывает, куда сохранять обложки тайтлов. При пустом значении будет создана папка _Covers_ в исполняемой директории скрипта. Рекомендуется оформлять в соответствии с принципами путей в Linux, описанными [здесь](http://cs.mipt.ru/advanced_python/lessons/lab02.html#cd).
___
```JSON
"titles-directory": ""
```
Указывает, куда сохранять JSON-файлы тайтлов. При пустом значении будет создана папка Titles в исполняемой директории скрипта. Рекомендуется оформлять в соответствии с принципами путей в Linux, описанными [здесь](http://cs.mipt.ru/advanced_python/lessons/lab02.html#cd).
___
```JSON
"delay": 1
```
Устанавливает интервал в секундах между последовательными запросами к серверу.
___
```JSON
"tags": {
"название жанра": "название тега",
"название жанра": null
}
```
В данном разделе можно указать список жанров, которые будут помечены как теги, а также, при необходимости, задать для них новые названия. Переопределённые жанры удаляются из оригинального списка.

_Copyright © DUB1401. 2023-2024._