{"id":25155132,"url":"https://github.com/dub1401/desuparser","last_synced_at":"2025-07-01T12:34:59.174Z","repository":{"id":200111037,"uuid":"700464926","full_name":"DUB1401/DesuParser","owner":"DUB1401","description":"Парсер Desu в формат JSON.","archived":false,"fork":false,"pushed_at":"2024-02-03T19:15:21.000Z","size":5412,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T11:17:01.971Z","etag":null,"topics":["beautifulsoup4","manga","parser","requests"],"latest_commit_sha":null,"homepage":"https://desu.me","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DUB1401.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-10-04T16:39:57.000Z","updated_at":"2024-02-03T19:09:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"0bdf25e4-7208-4f23-8210-03672ec1e9f0","html_url":"https://github.com/DUB1401/DesuParser","commit_stats":null,"previous_names":["dub1401/desuparser"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/DUB1401/DesuParser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DUB1401%2FDesuParser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DUB1401%2FDesuParser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DUB1401%2FDesuParser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DUB1401%2FDesuParser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DUB1401","download_url":"https://codeload.github.com/DUB1401/DesuParser/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DUB1401%2FDesuParser/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262963600,"owners_count":23391853,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["beautifulsoup4","manga","parser","requests"],"created_at":"2025-02-09T00:40:11.462Z","updated_at":"2025-07-01T12:34:59.138Z","avatar_url":"https://github.com/DUB1401.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Desu Parser\n**Desu Parser** – это кроссплатформенный скрипт для получения данных с сайта [Desu](https://desu.me/) в формате JSON. Он позволяет записать всю информацию о конкретной манге, а также её главах и содержании глав в формате [DMP-V1](Examples/DMP-V1.md).\n\n## Порядок установки и использования\n1. Загрузить последний релиз. Распаковать.\n2. Установить Python версии не старше 3.10. Рекомендуется добавить в PATH.\n3. В среду исполнения установить следующие пакеты: [BeautifulSoup4](https://launchpad.net/beautifulsoup), [dublib](https://github.com/DUB1401/dublib), [Pillow](https://github.com/python-pillow/Pillow).\n```\npip install BeautifulSoup4\npip install dublib\npip install Pillow\n```\nЛибо установить сразу все пакеты при помощи следующей команды, выполненной из директории скрипта.\n```\npip install -r requirements.txt\n```\n4. Настроить скрипт путём редактирования _Settings.json_.\n5. Открыть директорию со скриптом в терминале. Можно использовать метод `cd` и прописать путь к папке, либо запустить терминал из проводника.\n6. Указать для выполнения главный файл скрипта `dp.py`, передать ему команду вместе с параметрами, нажать кнопку ввода и дождаться завершения работы.\n\n# Консольные команды\n```\ncollect\n```\nПомещает список алиасов тайтлов, обновлённых на сайте за последние два дня, в файл _Collection.txt_.\n___\n```\ngetcov [MANGA_SLUG*] [FLAGS]\n```\nЗагружает обложки конкретного тайтла.\n\n**Описание позиций:**\n* _**MANGA\\_SLUG**_:\n\t* Аргумент – алиас тайтла. Обязательная позиция.\n\n**Список специфических флагов:**\n* _**-f**_ – включает перезапись уже загруженных обложек.\n___\n```\nparce [MANGA_SLUG*] [FLAGS] [KEYS]\n```\nПроводит парсинг тайтла с указанным алиасом в JSON формат и загружает его обложки. В случае, если файл тайтла уже существует, дополнит его новыми данными.\n\n**Описание позиций:**\n* _**MANGA\\_SLUG**_:\n\t* Аргумент – алиас тайтла. Обязательная позиция.\n\t* Флаги:\n\t\t* _**-collection**_ – указывает на то, что список тайтлов для парсинга необходимо взять из файла _Collection.txt_.\n\n**Список специфических флагов:**\n* _**-f**_ – включает перезапись уже загруженных обложек и существующих JSON файлов.\n\n**Список специфических ключей:**\n* _**--from**_ – указывает, с момента обнаружение какого алиаса необходимо начать парсинг коллекции.\n___\n```\nupdate [FLAGS] [KEYS]\n```\nПроводит парсинг тайтлов, обновлённых за интервал времени, указанный в _Settings.json_.\n\n**Список специфических флагов:**\n* _**-f**_ – включает перезапись уже загруженных обложек и существующих JSON файлов;\n* _**-local**_ – обновляет все локальные файлы JSON.\n\n**Список специфических ключей:**\n* _**--from**_ – указывает алиас тайтла, с момента обнаружения которого в списке обновляемых тайтлов необходимо начать обработку обновлений, а eсли таковой не был обнаружен, скрипт пропустит все обновления.\n\n## Неспецифические флаги\nДанный тип флагов работает при добавлении к любой команде и выполняет отдельную от оной функцию.\n* _**-s**_ – выключает компьютер после завершения работы скрипта.\n\n# Settings.json\n```JSON\n\"sizing-covers\": false\n```\nУказывает, нужно ли определять и записывать в JSON разрешение обложки и слайдов.\n___\n```JSON\n\"use-id-instead-slug\": false\n```\nПри включении данного параметра файлы JSON и директория обложек тайтла будут названы по ID произведения (коим считается ID первой главы тайтла), а не по алиасу.\n___\n```JSON\n\"covers-directory\": \"\"\n```\nУказывает, куда сохранять обложки тайтлов. При пустом значении будет создана папка _Covers_ в исполняемой директории скрипта. Рекомендуется оформлять в соответствии с принципами путей в Linux, описанными [здесь](http://cs.mipt.ru/advanced_python/lessons/lab02.html#cd).\n___\n```JSON\n\"titles-directory\": \"\"\n```\nУказывает, куда сохранять JSON-файлы тайтлов. При пустом значении будет создана папка Titles в исполняемой директории скрипта. Рекомендуется оформлять в соответствии с принципами путей в Linux, описанными [здесь](http://cs.mipt.ru/advanced_python/lessons/lab02.html#cd).\n___\n```JSON\n\"delay\": 1\n```\nУстанавливает интервал в секундах между последовательными запросами к серверу.\n___\n```JSON\n\"tags\": {\n\t\"название жанра\": \"название тега\",\n\t\"название жанра\": null\n}\n```\nВ данном разделе можно указать список жанров, которые будут помечены как теги, а также, при необходимости, задать для них новые названия. Переопределённые жанры удаляются из оригинального списка.\n\n_Copyright © DUB1401. 2023-2024._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdub1401%2Fdesuparser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdub1401%2Fdesuparser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdub1401%2Fdesuparser/lists"}