Skip to main content

Minimal Python Api for shop Magnit

Project description

Magnit Pure API

Magnit Pure API — это Python-библиотека для работы с API и веб-ресурсами сети магазинов "Магнит". Она позволяет получать информацию о категориях и товарах, а также авторизовываться в системе.


Установка

Требования

  • Python 3.9+
  • Установленные зависимости (см. ниже)

Установка через pip

pip install pyatorochka-min-api

или вручную:

git clone https://github.com/ваш-репозиторий/magnit-pure-api.git
cd magnit-pure-api
pip install -r requirements.txt

Зависимости

requests>=2.31.0
beautifulsoup4>=4.12.2
pandas>=2.0.0
urllib3>=2.0.0

Быстрый старт

Инициализация

from magnit_api import MagnitApi

# Инициализация с указанием телефона, пароля и кода магазина
# Параметры burp_host и burp_port не используются в текущей версии
api = MagnitApi(
    phone="+79991234567",
    password="your_password",
    shop_code="12345"
)

Основные методы

1. Авторизация

if api.authorize():
    print("Авторизация успешна!")
else:
    print("Ошибка авторизации.")

2. Получение списка категорий

categories = api.get_categories(shop_code="12345")
print(categories)

3. Получение товаров по категории

products = api.get_products(
    category_id="4226-molochnye-produkty", # у вас будет свой
    shop_code="12345",
    page=4
)
for product in products:
    print(product['title'], product['sale_price'])

4. Парсинг всех товаров и сохранение в JSON

api.parse_products(
    shop_code="12345",
    output="products.json",
    rpages=2  # количество страниц товаров для парсинга
)

Примеры использования

Пример 1: Получение всех категорий и товаров

api = MagnitApi(phone="+79991234567", password="your_password", shop_code="12345")
categories = api.get_categories("12345")
for category in categories:
    products = api.get_products(category, "12345", 1)
    print(f"Категория: {category}, Товаров: {len(products)}")

Пример 2: Сохранение данных в CSV

import pandas as pd

api = MagnitApi(phone="+79991234567", password="your_password", shop_code="12345")
products = api.parse_products("12345", "products.json", 2)
df = pd.DataFrame(products)
df.to_csv("products.csv", index=False)

Обработка ошибок

  • Если авторизация не удалась, проверьте правильность телефона/пароля.
  • Если не удается получить данные, проверьте код магазина и интернет-соединение.
  • В текущей версии **Burp** прокси **не используется**

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

magnit_pure_api-0.4.1.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

magnit_pure_api-0.4.1-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file magnit_pure_api-0.4.1.tar.gz.

File metadata

  • Download URL: magnit_pure_api-0.4.1.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.0

File hashes

Hashes for magnit_pure_api-0.4.1.tar.gz
Algorithm Hash digest
SHA256 e03fabe89a8a4cf7e60fa5a48d0100d0ab45625dc1c85ac6c3ab90fb4c2c50ac
MD5 6371b2a56502b0e10ba596b2a9101e95
BLAKE2b-256 d708f275e267f31e23f66ac1f46d620560c499828aeb343287f1b0c54bc65ea0

See more details on using hashes here.

File details

Details for the file magnit_pure_api-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for magnit_pure_api-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cfdb29d478c024a6123ddbf25020a3df5d084c3b9a25bea1a40d6571f875600c
MD5 3d981c72fcff5ab9003e65ac4358ac65
BLAKE2b-256 43a16bb7ac9692e1e623a4f48f6cc5a06afc71e06f02335e406798ad5cbebc76

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page