Скрипты предназначены для загрузки книг в формате .txt с сайта https://tululu.org и навигации по загруженным данным с использованием локальной версии веб-сайта.
parse_tululu.py
- выполняет сохранение всех доступных текстовых файлов книг и
их обложек в указанном диапазоне идентификаторов книг (позиционные аргументы).
parse_tululu_category.py
- выполняет сохранение всех доступных текстовых файлов книг и их обложек в указанном диапазоне страниц
(аргументы --start_page
и --start_page
). По умолчанию сохраняются книги из коллекции фантастика.
render_website.py
- скрипт для запуска локальной версии сайта с загруженными данными.
helpers.py
- вспомогательный скрипт.
constants.py
- содержит переменные с постоянными значениями (конфигурационный файл).
Для работы программы должен быть установлен Python 3.
Для установки зависимостей запустить команду:
pip install -r requirements.txt
parse_tululu.py
При запуске программы требуется указать 2 позиционных аргумента:start_id
и end_id
.
Программа скачивает все доступные книги в указанном диапазоне идентификаторов книг.
start_id
- начальный идентификатор диапазона книг на сайте (по умолчанию 0);
end_id
- конечный идентификатор диапазона книг на сайте (по умолчанию 0);
Пример запуска программы:
python parse_tululu.py 20 30
В данном примере будут загружены все доступные книги с идентификаторами с 20 по 30 включительно.
parse_tululu_category.py
При запуске программы требуется указать 2 именованных аргумента: --start_page
и --end_page
.
Программа скачивает все доступные книги в указанном диапазоне идентификаторов страниц.
Без указания параметров будут сохранены все книги, находящиеся на первой странице.
--start_page
- начальный идентификатор диапазона страниц коллекции (по умолчанию 1);
--end_page
- конечный идентификатор диапазона страниц коллекции;
Примеры запуска программы:
python parse_tululu_category.py --start_page 10 --end_page 20
В данном примере будут загружены все доступные книги, находящийся на страницах с идентификаторами с 1 по 5 включительно.
python parse_tululu_category.py --end_page 7
В данном примере будут загружены все доступные книги, находящийся на страницах с идентификаторами с 1 по 7 включительно.
python parse_tululu_category.py --start_page 10
В данном примере будут загружены все доступные книги, находящийся на страницах с идентификаторами с 10 по последнюю включительно.
--books_dirname
- наименование каталога для текстовых файлов книг (по умолчанию books
)
--images_dirname
- наименование каталога для обложек книг (по умолчанию images
)
--dest_dir
- путь к каталогу, в который будут сохраняться все файлы
--skip_img
- не скачивать обложки книг
--skip_txt
- не скачивать текстовые файлы книг
--json_path
- путь к файлу с результатами
--collection_url
- ссылка на страницу коллекции (по умолчанию фантастика)
Для запуска локальной версии веб-сайта требуется после загрузки необходимых данных выполнить команду:
python render_website.py
По умолчанию для получения информации о загруженных книгах используется файл downloaded_books.json
, расположенный
в директории проекта. Для указания иного файла необходимо указать параметр --json_path
:
python render_website.py --json_path test.json
Внимание! Для корректной работы локальной версии веб-сайта необходимо, чтобы файл
с информацией о загруженных книгах содержал ссылки на текстовые файлы книг и их обложки
(данные должны быть загружены без использования параметров --skip_img
и --skip_txt
).
По умолчанию на одной веб-странице размещаются 20 книг, разделенные на 2 столбца.
Доступ к страницам сайта осуществляется по следующему адресу: http://127.0.0.1:5500/pages/index{номер страницы}.html
Код написан в образовательных целях на онлайн-курсе для веб-разработчиков dvmn.org.