Учебный проект для практики создания парсеров.
Парсится документация Python: PEP, версии, обновления, архив с документацией.
В проекте реализован парсинг аргументов командной строки для выбора режима работы программы. Всего доступно четыре режима:
- whats-new (получение списка ссылок на перечень изменений в версиях Python)
- latest-versions (получение списка ссылок на документацию для всех версий Python)
- download (скачивание архива с документацией для последней версии Python)
- pep (получение данных о статусах всех PEP и вывод информации о несоответствиях статусов в общем списке и в карточках отдельных PEP)
Реализована возможность выбора формата вывода:
- стандартный вывод в терминал;
- вывод в терминал в табличной форме (prettytable);
- запись результатов работы в файл .csv.
Настроено логирование - логи выводятся в терминал и сохраняются в отдельной директории с ротацией.
Список поддерживаемых сайтов:
Клонируйте репозиторий:
git clone git@github.com:babichdenis/bs4_parser_pep.git
Установите и активируйте виртуальное окружение:
для MacOS:
python3 -m venv venv
source venv/bin/activate
для Windows:
python -m venv venv
source venv/Scripts/activate
Установите зависимости из файла requirements.txt:
pip install -r requirements.txt
Перейдите в папку "src":
cd src
Запустите парсер в одном из режимов:
python main.py <parser_mode> <args>
При запуске парсера необходимо выбрать один из режимов <parser_mode>:
- whats-new
Парсинг последних обновлений с сайта
python main.py whats-new <args>
- latest-versions
Парсинг последних версий документации
python main.py latest_versions <args>
- download
Загрузка и сохранение архива с документацией
python main.py download <args>
- pep
Парсинг статусов PEP
python main.py pep <args>
При запуске парсера можно указать дополнительные аргументы :
- Вывести информацию о парсере:
python main.py <parser_mode> -h
python main.py <parser_mode> --help
- Очистить кеш:
python main.py <parser_mode> -c
python main.py <parser_mode> --clear-cache
- Настроить режим отображения результатов:
Сохранение результатов в CSV файл:
python main.py <parser_mode> --output file
Отображение результатов в табличном формате в консоли:
python main.py <parser_mode> --output pretty
Если не указывать аргумент --output, результат парсинга будет выведен в консоль:
(кроме парсера download)
python main.py <parser_mode>