Заказ закрыт
C#, Парсинг Steam с использованием библиотеки SteamKit

Бюджет: 12 000 руб
161.52 $ – 135.52 €
Заказчик выбрал исполнителя:
Дмитрий Александров  
Основная цель:
Автоматизированно собирать данные о PackageID через библиотеку SteamKit (github.com/SteamRE/SteamK..., используя асинхронные запросы, прокси и последующую запись информации в базу данных.

Основные требования к реализации:
* Получение ключевых полей:
    * AppID (числовое значение)
    * Название (name)
    * Тип (type)
    * allow_gifting (bool)
    * Список ограниченных стран (purchaserestrictedcountries)
* Работа с библиотекой SteamKit для реализации взаимодействия со Steam API.
* Возможность легко расширить или изменить перечень извлекаемых полей при необходимости.

Пример для тестирования:
store.steampowered.com/su...
Извлекаемая информация (в формате JSON) должна содержать поля:
* appid: 2322010
* name: God of War Ragnarök
* type: game
* allow_gifting: True
* purchaserestrictedcountries: Список стран в виде строки (например, "AF AX AL DZ ...")

Обеспечение асинхронного режима и пакетной обработки с использованием прокси
* Запросы к Steam API должны отправляться асинхронно.
* Предусмотреть механизм ограничения количества одновременных запросов (например по 200 запросов за раз).
* Эффективное использование прокси (например каждый запрос использует рандомный прокси из списка)
* Устойчивость к большому объёму обрабатываемых PackageID: приложение не должно “падать” или замедляться при значительном количестве ID.
* Логирование неудачных запросов и попыток переподключения с новым прокси

Обработка ошибок
* Предусмотреть  лог ошибок: недоступность Steam API, неправильные ответы, отсутствие packageid, время ожидания (timeout) и другие, в случае возникновения.
* Реализовать повторные попытки/ретраи при неудачных запросах (например, несколько раз по 1 секунде, если так и не получили ответа, то возвращать пустые ответы).

Взаимодействие с базой данных
* Получение списка packageID, которые необходимо обработать.
* Сохранение результатов парсинга в БД на SQL.

Тестирование
  – Проверить стабильность работы скрипта на 1000+ PackageID в БД

Доп. инфо:
gist.github.com/Js41637/3... (не проверялся, возможно готовый шаблон для парсинга, может упростить задачу)
Опубликован 17.01.2025 в 18:34
Заказ находится в архиве

Выберите способ верификации:

Обновите страницу после прохождения верификации.