/HTTP_and_REST_API

FastAPI сервер с REST API и парсер онлайн-магазина

Primary LanguagePython

Веб-протоколы и REST API. Летняя практика 2023 в УрФУ

Финальная версия проекта

Развернута на хостинге repl.it. Документация к проекту находится здесь. Документация проекта и его ручки

Используемые технологии

  • Python 3.11
  • FastAPI
  • SQLAlchemy
  • Pydantic
  • SQLite
  • requests
  • Selenium
  • BeautifulSoup
  • logging
  • timeloop-ng

Задание 1. Написание парсеров страниц при помощи requests и Selenium

Код находится в папке parsing, парсится конкретный товар на сайте ozon. Получаем HTML-разметку страницы и при помощи BeautifulSoap находим интересующие нас элементы: имя товара и цену.

Задание 2. Работа с базой данных и ORM - SQLAlchemy.

Код находится в папке db, на этот раз парсится страница с товарами на сайте onlinetrade. Создается подключение к базе данных SQLite, в которую записываются данные о товарах. Присутствует логирование при помощи модуля logging.

Задание 3. Работа с REST API

Создан проект на Fast API в папке src. В нём реализованы все базовые методы HTTP-запросов (GET, POST, DELETE, PUT, PATCH). В качестве базы данных используется SQLite. Для работы с ней используется SQLAlchemy и схемы Pydantic. Написан парсер для сайта faberlic, который парсит страницу с товарами и записывает их в базу данных. Для парсинга используются requests и BeautifulSoup. Для логирования используется модуль logging. Так же есть sender, который отправляет полученные данные на запущенный сервер с использованием метода POST.