Парсер собирает данные обо всех PEP документах, сравнивает статусы и записывает их в файл, также реализованы сбор информации о статусе версий, скачивание архива с документацией и сбор ссылок о новостях в Python, логирует свою работу и ошибки в командную строку и файл логов.
- Python — высокоуровневый язык программирования.
- BeautifulSoup4 - библиотека для парсинга.
- Prettytable - библиотека для удобного отображения табличных данных.
- Logging - Логирование работы и отслеживания ошибок
Выполните следующие команды в терминале:
- Клонировать проект из репозитория
git clone https://github.com/Esperansa08/bs4_parser_pep.git
- Создать, активировать виртуальное окружение и в него установить зависимости:
python -m venv venv
venv/Scripts/activate
pip install -r requirements.txt
- Запустить парсер из командной строки, например:
python src/main.py pep --output pretty
Парсер рабоет в четырех режимах, для каждого из которых присвоена своя функция:
- сбор версий языка и их авторов -
whats_new; - сбор информации о версиях -
latest_versions; - сбор информации о стандартах PEP -
pep; - скачивание документации -
download.
-
Обычный вывод в консоль (stdout);
Пример: python src/main.py latest-versions
-
Вывод в консоль в табличном виде (аргументы
-o {pretty});Пример: python src/main.py pep --output pretty
-
Сохранение в формате csv (аргументы
-o {file}) в папку/src/results/;
Пример: python src/main.py whats-new --output file
В родительской директории src/ будет создана новая results/,
в которую сохранится файл с результатами работы парсера.
Настроено логирование работы парсера.
Лог сохраняется в папку /src/logs/.
Для просмотра режимов работы парсера в терминале введите команду
с именованным аргументом -h или --help:
python src/main.py -h
Результат работы команды будет следующим:
usage: main.py [-h] [-c] [-o {pretty,file}] {whats-new,latest-versions,download,pep}
Парсер документации Python
positional arguments:
{whats-new,latest-versions,download,pep}
Режимы работы парсера
optional arguments:
-h, --help show this help message and exit
-c, --clear-cache Очистка кеша
-o {pretty,file}, --output {pretty,file}
Дополнительные способы вывода данных
- Савельева Анастасия (Visteria09@yandex.ru, https://github.com/Esperansa08)