Skip to content

Ktoto59/TestTask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Асинхронный скрипт для извлечения и хранения данных из API

Этот скрипт используется для извлечения данных из API и сохранения их в базе данных SQLite. Он использует асинхронные методы для обработки запросов и сохранения данных, что позволяет эффективно использовать ресурсы и обрабатывать большое количество данных параллельно.

Поготовка:

  1. Создайте файл .env
  2. Добавьте туда переменную URL=""
Пример: URL="https://www.DNS.ru"

Установка зависимостей

Для работы скрипта требуется установить следующие зависимости:

  • aiohttp: для работы с HTTP запросами асинхронно
  • aiosqlite: для работы с базой данных SQLite асинхронно

Установите зависимости с помощью следующей команды:

pip install aiohttp aiosqlite

или

pip install -r requirements.txt

Использование

Для запуска скрипта используйте команду:

python main.py --db <имя_файла_базы_данных> --request-limit <максимальное_ограничение_на_запросы>

Аргументы командной строки

  • --db: Имя файла базы данных SQLite, по умолчанию информация сохраняется в: products.csv
  • -rl, --request-limit: Максимальное количество одновременных запросов, по умолчанию 10
Примеры:
  1. Запуск с использованием базы данных mydatabase.db и ограничением в 5 параллельных запросов:
python main.py --db mydatabase.db -rl 5
  1. Запуск с использованием базы данных custom.db и ограничением в 8 параллельных запросов:
python main.py --db custom.db --request-limit 8
  1. Запуск без использования базы данных и ограничением в 20 параллельных запросов:
python main.py -rl 20
Рекомендуемые параметры:
python main.py --db product.db -rl 10

Структура базы данных

Скрипт создает следующую структуру таблиц в базе данных:

  • categories: категории товаров
  • subcategories: подкатегории товаров, связанные с категориями
  • products: продукты, связанные с подкатегориями
  • offers: предложения продуктов
  • shops: магазины, где доступен товар
  • offer_shop_amount: информация о количестве товара в магазинах

Каждая таблица имеет свою структуру и связи между ними для хранения данных.

img_1.png

About

ТЗ

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages