Git Product home page Git Product logo

crawler_test_task's Introduction

crawler_test_task

Стек: Python3, aiogram, pandas, sqlite3, docker, docker-compose

Описание бота

Представьте, что у вас есть система без интерфейса пользователя, например crawler (сборщик информации), который парсит все сайты по продаже зюзюбликов и сохраняет в базу данных.

Появилась потребность дать обычному пользователю минимальными усилиями добавлять еще сайты для парсинга

Напишите простого бота, который будет иметь одну кнопку: загрузить файл

  1. При нажатии кнопки пользователь прикрепляет файл excel в формате таблицы с полями:
    • title - название
    • url - ссылка на сайт источник
    • xpath - путь к элементу с ценой
  2. Бот получает файл, сохраняет
  3. Открывает файл библиотекой pandas
  4. Выводит содержимое в ответ пользователю
  5. Сохраняет содержимое в локальную БД sqlite

Запуск бота на локальном хранилище

Клонируйте репозиторий и перейдите в него:

git clone https://github.com/dmitrii-r/crawler_test_task.git
cd crawler_test_task

Cоздайте и активируйте виртуальное окружение:

python3 -m venv env
source env/bin/activate

Обновите установщик пакетов PIP:

python3 -m pip install --upgrade pip

Установите зависимости из файла requirements.txt:

pip install -r requirements.txt

Создайте файл .env и заполните его по образцу .env.example. Запустите исполняемый файл бота:

python3 bot.py

Запуск бота на удаленном сервере

Клонируйте репозиторий:

git clone https://github.com/dmitrii-r/crawler_test_task.git

Перейдите в директорию с клонированным репозиторием:

cd crawler_test_task

Создайте файл .env и заполните его по образцу .env.example. Перейдите в директорию infra и запустите контейнеры:

cd infra
docker-compose up -d

crawler_test_task's People

Contributors

dmitrii-r avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.