https://github.com/dub1401/rulateparser
Парсер Tl.Rulate.ru в формат JSON.
https://github.com/dub1401/rulateparser
novels parser
Last synced: about 1 year ago
JSON representation
Парсер Tl.Rulate.ru в формат JSON.
- Host: GitHub
- URL: https://github.com/dub1401/rulateparser
- Owner: DUB1401
- License: apache-2.0
- Created: 2024-03-14T12:49:04.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-04T22:15:03.000Z (about 2 years ago)
- Last Synced: 2025-02-09T00:39:58.455Z (over 1 year ago)
- Topics: novels, parser
- Language: Python
- Homepage:
- Size: 22.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RulateParser
**RulateParser** – это кроссплатформенный скрипт для получения данных с сайта [Tl.Rulate.ru](https://tl.rulate.ru/) в формате JSON. Он позволяет записать всю информацию о конкретной новелле, а также её главах и содержании глав.
## Порядок установки и использования
1. Загрузить последний релиз. Распаковать.
2. Установить Python версии не старше 3.10. Рекомендуется добавить в PATH.
3. В среду исполнения установить следующие пакеты: [BeautifulSoup4](https://www.crummy.com/software/BeautifulSoup/), [dublib](https://github.com/DUB1401/dublib), [lxml](lxml).
```
pip install BeautifulSoup4
pip install dublib
pip install lxml
```
Либо установить сразу все пакеты при помощи следующей команды, выполненной из директории скрипта.
```
pip install -r requirements.txt
```
4. Настроить скрипт путём редактирования _Settings.json_.
5. Открыть директорию со скриптом в терминале. Можно использовать метод `cd` и прописать путь к папке, либо запустить терминал из проводника.
6. Указать для выполнения главный файл скрипта `main.py`, передать ему команду вместе с параметрами, нажать кнопку ввода и дождаться завершения работы.
# Консольные команды
```
parse [TARGET*] [FLAGS] [KEYS]
```
Проводит парсинг тайтла с указанным алиасом в JSON формат и загружает его обложки. В случае, если файл тайтла уже существует, дополнит его новыми данными.
**Описание позиций:**
* **TARGET** – задаёт цель для парсинга. Обязательная позиция.
* Аргумент – алиас тайтла для парсинга.
* Флаги:
* _**-collection**_ – указывает, что список тайтлов для парсинга необходимо взять из файла _Collection.txt_;
* _**-local**_ – указывает для парсинга все локальные файлы.
**Список специфических флагов:**
* _**-f**_ – включает перезапись уже загруженных обложек и существующих JSON файлов.
**Список специфических ключей:**
* _**--from**_ – указывает алиас тайтла, с момента обнаружения которого в коллекции тайтлов необходимо начать парсинг.
## Неспецифические флаги
Данный тип флагов работает при добавлении к любой команде и выполняет отдельную от оной функцию.
* _**-s**_ – выключает компьютер после завершения работы скрипта.
# Settings.json
```JSON
"login": ""
```
Логин для авторизации на сайте.
___
```JSON
"password": ""
```
Пароль для авторизации на сайте.
___
```JSON
"mature-book-id": 6860
```
ID книги, классифицируемой как 18+ произведение. С помощью её страницы будет отключаться предупреждение о возрастном ограничении.
___
```JSON
"noveld-directory": ""
```
Указывает, куда сохранять JSON-файлы тайтлов. При пустом значении будет создана папка _Novels_ в исполняемой директории скрипта.
___
```JSON
"images-directory": ""
```
Указывает, куда сохранять иллюстрации новелл. При пустом значении будет создана папка _Images_ в исполняемой директории скрипта.
___
```JSON
"covers-directory": ""
```
Указывает, куда сохранять обложки тайтлов. При пустом значении будет создана папка _Covers_ в исполняемой директории скрипта.
___
```JSON
"link-to-images-directory": false
```
Если включено, корнем для ссылок иллюстраций будет считаться указанный в настройке `images-directory` каталог.
___
```JSON
"prettifier": true
```
Включает набор готовых решений для повышения качества получаемого контента:
* очистка небуквенных абзацев в конце глав;
* удаление дублирующихся названий из текста глав;
* замена трёх точек символом многоточия в названиях глав;
* удаление лишних точек из названий глав.
___
```JSON
"filters": true
```
Включает удаление подстрок из текста глав и описания новеллы по регулярным выражениям из файла _Filters.txt_. В файле поддерживается комментирование при помощи спецсимвола `#`.
___
```JSON
"proxy": {
"enable": false,
"host": "",
"port": "",
"login": "",
"password": ""
}
```
Указывает HTTP-прокси для выполнения запросов.
___
```JSON
"delay": 0
```
Устанавливает интервал в секундах между последовательными запросами к серверу.
_Copyright © DUB1401. 2024._