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

https://github.com/dub1401/hentaichanparser

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

beautifulsoup4 hentai manga parser requests

Last synced: 8 months ago
JSON representation

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

Awesome Lists containing this project

README

          

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

## Порядок установки и использования
1. Загрузить последний релиз. Распаковать.
2. Установить Python версии не старше 3.10. Рекомендуется добавить в PATH.
3. В среду исполнения установить следующие пакеты: [BeautifulSoup4](https://launchpad.net/beautifulsoup), [PyEnchant](https://github.com/pyenchant/pyenchant), [dublib](https://github.com/DUB1401/dublib), [Pillow](https://github.com/python-pillow/Pillow).
```
pip install BeautifulSoup4
pip install PyEnchant
pip install dublib
pip install Pillow
```
Либо установить сразу все пакеты при помощи следующей команды, выполненной из директории скрипта.
```
pip install -r requirements.txt
```
4. Настроить скрипт путём редактирования _Settings.json_.
5. Открыть директорию со скриптом в терминале. Можно использовать метод `cd` и прописать путь к папке, либо запустить терминал из проводника.
6. Указать для выполнения главный файл скрипта `hcp.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": true
```
Указывает, нужно ли определять и записывать в JSON разрешение обложки.
___
```JSON
"use-webp": false
```
Если включить, расширения изображений в ссылках на слайды будут заменены на _*.webp_.
___
```JSON
"use-id-instead-slug": false
```
При включении данного параметра файлы JSON и директория обложек тайтла будут названы по ID произведения (коим считается ID первой главы тайтла), а не по алиасу.
___
```JSON
"auto-branches-merging": false
```
Определяет режим распределения глав по ветвям. Если параметр отключён, то каждая ветвь будет соответствовать переводчику; при включении же оного в первую ветвь будут помещены все доступные главы, номера которых не дублируются, а дублирующиеся главы распределятся по другим ветвям согласно их переводчикам.
___
```JSON
"check-updates-period": 2
```
Указывает, обновления за сколько дней необходимо получить.
___
```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
"genres": {
"название тега": "название жанра",
"название тега": null
}
```
В данном разделе можно указать список тегов, которые будут помечены как жанры, а также, при необходимости, задать для них новые названия. Переопределённые теги удаляются из оригинального списка.

_Copyright © DUB1401. 2022-2024._