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.
- Host: GitHub
- URL: https://github.com/dub1401/desuparser
- Owner: DUB1401
- License: apache-2.0
- Created: 2023-10-04T16:39:57.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-03T19:15:21.000Z (over 2 years ago)
- Last Synced: 2025-04-03T11:17:01.971Z (about 1 year ago)
- Topics: beautifulsoup4, manga, parser, requests
- Language: Python
- Homepage: https://desu.me
- Size: 5.16 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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._