Цель:
Создать микросервис на Python, который через Steam API и HTML-парсинг собирает данные в таблицу shop_categories (SQL) для последующей интеграции в основную программу.
---
1. API источники:
*
*
2. Таблица назначения: shop_categories
Поля:
* id (автоинкремент)
* Category (название категории, например "Top Sellers")
* Name (название тайтла)
* URL (ссылка на страницу тайтла)
* header_image
* large_capsule_image
* small_capsule_image
* type (app, bundle, sub, sale)
* special_id (appid, bundleid, subid или saleid — текст после /sale/)
---
3. Что нужно сделать:
* Спарсить все данные из вышеуказанных API.
* Отдельно получить список saleid из блока spotlights (в featuredcategories), извлекая URL формата:
* Для каждой страницы /sale/{saleid}?cc=SE:
* Получить все ссылки на app/, bundle/, sub/ — даже если они подгружаются через JS.
* Извлечь type, special_id, Name, URL, изображения и пр.
* Назначить Category как saleid (текст после /sale/ в URL).
---
4. Важное:
* Steam страницы /sale/ используют JS-подгрузку. Обычный Selenium часто не видит все элементы. Нужно использовать устойчивый метод (например, анализ сетевых запросов или рендер через headless браузер), чтобы гарантированно получить все appid, bundleid, subid на странице.
---
Итог:
Сделать отдельный Python-скрипт/микросервис, который собирает все эти данные и записывает их в SQL-таблицу shop_categories. Обязательно обеспечить корректную работу с динамически подгружаемыми элементами.