Skip to content

Асинхронный парсер информации о вакансиях на сайтах по поиску работы. Стек: Python, Sqlalchemy, Asyncio, Aiohttp, PostgreSQL, Pytest, Selenium, Arsenic

Notifications You must be signed in to change notification settings

aquaracer/Asynchronous_Web_Scraper

Repository files navigation

Асинхронный веб скрапер

Цели реализации проекта:

  • Понять принципы асинхронного программирования, используя библиотеку Asyncio
  • Получить опыт тестирования(эмуляция действий пользователя) с использованием автоматизированного браузера Selenium. Использовать Arsenic для асинхронных задач.
  • Освоить базовые принципы тестирования функционала проекта, используя Pytest.

Техническое задание

Разработать парсер для сбора информации о вакансиях с сайтов по поиску работы.

Сбор данных

Производится сбор следующих данных:

  • название вакансии
  • краткое описание вакансии
  • полное описание вакансии
  • название компании
  • зарплата
  • требования
  • опыт работы

База данных.

В качестве ORM использовать sqlalchemy. В качестве СУБД использовать PostgresSQL.

Асинхронность

Реализовать возможность асинхронного сбора и асинхронного сохранения данных с нескольких сайтов. Использовать библиотеку Asyncio. Для сбора данных с сайтов использовать библиотеки Selenuim + Arsenic.

Тестирование

Провести тестирование сервиса посредством Pytest.

Имплементация

Для каждого сайта по поиску вакансий реализовать отдельный бэкенд, используя парадигмы ООП.

Установка приложения

git clone https://github.com/aquaracer/Asynchronous-Web-Scraper.git async_scraper_app
cd async_scraper_app
python3 -m venv env
./env/bin/activate
pip install -r requirements.txt

Запуск сервиса

python3 async_scraper.py

Запуск тестов

pytest .

About

Асинхронный парсер информации о вакансиях на сайтах по поиску работы. Стек: Python, Sqlalchemy, Asyncio, Aiohttp, PostgreSQL, Pytest, Selenium, Arsenic

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages