{"id":22449229,"url":"https://github.com/konh/livelibexport","last_synced_at":"2025-08-01T23:30:46.738Z","repository":{"id":36213184,"uuid":"143425052","full_name":"KonH/LivelibExport","owner":"KonH","description":"Скрипт для экспорта прочитанного на Livelib в CSV-файл","archived":false,"fork":false,"pushed_at":"2024-06-20T15:22:17.000Z","size":36,"stargazers_count":48,"open_issues_count":0,"forks_count":9,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-08T09:41:01.817Z","etag":null,"topics":["books","csv","csv-export","export","exporter","goodreads","livelib","python","python-3","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KonH.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,"publiccode":null,"codemeta":null}},"created_at":"2018-08-03T12:32:06.000Z","updated_at":"2024-12-19T15:59:38.000Z","dependencies_parsed_at":"2024-04-17T10:46:21.728Z","dependency_job_id":"af67fd81-ae57-436d-9ca9-aef9db0fc385","html_url":"https://github.com/KonH/LivelibExport","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/KonH/LivelibExport","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KonH%2FLivelibExport","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KonH%2FLivelibExport/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KonH%2FLivelibExport/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KonH%2FLivelibExport/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KonH","download_url":"https://codeload.github.com/KonH/LivelibExport/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KonH%2FLivelibExport/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268311089,"owners_count":24230273,"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","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["books","csv","csv-export","export","exporter","goodreads","livelib","python","python-3","python3"],"created_at":"2024-12-06T05:08:18.894Z","updated_at":"2025-08-01T23:30:46.475Z","avatar_url":"https://github.com/KonH.png","language":"Python","readme":"# LivelibExport\n\n## Краткое описание\n\nСервис https://www.livelib.ru не предоставляет удобного способа для экспорта прочитанного (как встроенной так и через API), поэтому был сделан отдельный скрипт для этого. Его использование поможет вам отвязаться от этого сервиса и иметь возможность мигрировать куда-нибудь еще.\n\n## Экспорт книг из LiveLib в CSV\n\n- Войти на сайт\n- Открыть ссылку вида https://www.livelib.ru/reader/userName/read/print, где userName - ваше имя пользователя\n- Скачать текущее содержимое страницы в файл любым методом в файл read.html в папке со скриптом (возможная проблема - книги из файла не обнаруживаются скриптом, в таком случае следует создать html файл вручную и скопировать в него содержимое страницы из DevTools браузера)\n- Установить python3 (https://www.python.org/downloads/) и pip3 (https://pip.pypa.io/en/stable/installing/)\n- Установить зависимость: `pip3 install lxml`\n- Запустить скрипт: `python3 export.py`\n- Дополнительная опция `--convert-10-star-rating=True` может использоваться для указания того будут ли конвертироваться 10-звездные и дробные рейтинги в 5-звездные рейтинги (см. [issue](https://github.com/KonH/LivelibExport/issues/10)), по-умолчанию указывать этот ключ не нужно, он требуется только при включенных в настройках 10-звездных рейтингах \n- Дополнительная опция `--rating-convert-ceiling=True` используется в случае конвертации рейтингов и определяет, в какую сторону будет округлятся рейтинг (4,5: в случае True он станет 5, в случае False - 4)\n- Дополнительная опция `--parse-books-without-rating=False` используется, если необходимо конвертировать книги без указанного рейтинга (по умолчанию они игнорируются)\n- В случае возникновения проблем при получении содержимого страниц можно воспользоваться дополнительным режимом использования прокси-сервера FlareSolverr:\n  - Использовать docker-образ, готовые исполняемые файлы или собрать из исходников - https://github.com/FlareSolverr/FlareSolverr\n  - Запустить сервер и дождаться его инициализации (Test successful в логе FlareSolverr)\n  - Указать дополнительную опцию `--proxy-host=localhost:8191` (значение по-умолчанию, может быть иным, указывается в логе FlareSolverr, 0.0.0.0 нужно заменить на localhost)\n  - После этого вместо прямых запросов для получения содержимого страниц будет использоваться FlareSolverr\n  - Это может решить основные проблемы, но не является гарантией (конкретно в случае Livelib определение блокировки работает некорректно)\n  - Также в случае проблем может быть полезно: перезапустить сервер, зайти на сайт с помощью браузера и пройти проверку вручную, подождать некоторое время или сменить используемую сеть\n- Также возможно изменить задержки по-умолчанию с помощью параметров `--min-delay=90` и `--max-delay=120` (значения указываются в секундах)\n- Некоторые книги загружаются только для авторизованных пользователей и отдают ошибку 503 если авторизации нет, чтобы передать данные о логине используется файл headers.txt (это опционально): \n  - С помощью DevTools своего браузера получите заголовки любой страницы сайта\n  - Скопируйте их и укажите в файле headers.txt в том же формате\n  - Заголовок Accept-Encoding будет проигнорирован\n- Будет загружен список книг из read.html и начата загрузка информации по ним\n- Подождать завершения процесса\n- Может потребоваться много времени, т.к. запросы отправляются с интервалом в 90-120 сек чтобы не было проблемы с блокировкой на стороне сервиса (это значение может быть изменено в скрипте, на свой страх и риск)\n- Итоговый файл out.csv будет содержать имя автора/авторов, название, ISBN и рейтинг, поставленный книге\n- Если для каких-то книг не было найдено ISBN, это будет отображено в логе и можно будет их добавить вручную\n- Отсутствующий ISBN означает следующее:\n  - Он не указан на странице, тогда можно попробовать его найти в других источниках\n  - Его нет в принципе, тогда этот метод экспорта не поможет\n  - Есть необработанная ситуация в парсере, тогда можно завести issue здесь с указанием ссылки на страницу\n- Итоговый файл пригоден для импорта на https://goodreads.com, но потенциально может быть использован и в других случаях\n- Исходный код проекта открыт, issue по изменениям и багам можно присылать, pull request'ы будут рассматриваться","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkonh%2Flivelibexport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkonh%2Flivelibexport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkonh%2Flivelibexport/lists"}