@LemanRass09

Как получить список вещей в инвентаре в стиме?

Здравствуйте.
Как можно получать инвентари пользователей в стиме с минимальными ограничениями по количеству запросов?
Просто я сделал через стандарт ссылку:
http://steamcommunity.com/profiles/*profileid*/inventory/json/730/2

используя php-curl и рекурсивную javascript функцию с ajax запросом в php обработчик. Но делая всего несколько запросов даже с паузой в 3 сек между запросами я все равно умудряюсь получить ошибку 429 которая означает что я сделал слишком много запросов и меня банит на продолжительное время. Видимо это ограничение наложено администрацией стима и бороться с ним бесполезно.

По этому я решил спросить есть ли обходные пути? Каким еще способом можно получить инвентарь пользователя в стиме? Потому что если адекватного решения не найдется - я уже собираюсь заказывать 11 виртуальных хостингов с php обработчиками которые будут брать только по 1 инвентарю каждый и возвращать в один и тот же javascript в качестве ajax параметра callback функции done.
  • Вопрос задан
  • 2249 просмотров
Решения вопроса 1
PerfectoWeb
@PerfectoWeb
Создание сайтов любой сложности
1) Напишите файл парсера, который каждую минуту или 2-3 будет запрашивать инвентари и сохранять у вас на сервере (через crontab)

2) Берите данные из сохраненного на вашем сервере

3) После каждого трейда, в котором бот отдаст предметы очищайте их также в локальном JSON-е. Чтобы не ждать обновления минуту.

4) Также записывайте в JSON (локальный) новые предметы, чьи трейды успешно завершены. То есть в момент принятия ботом каких либо предметов.

Новые товары, которые появились на боте не через сайт, разумеется появятся на боте через минуту (или 2-3, сколько установите на crontab), но это не так критично.

Маленькая рекомендация
Всегда, когда используете частые запросы на чужие сервисы (даже Yandex, Google Maps), всегда желательно кешировать у себя данные и обновлять их по мере необходимости. В таком раскладе, ваш сайт сможет функционировать даже тогда, когда сторонний сервис недоступен.

PS: 11 серверов для 11 ботов, это самая экономически не выгодная сделка для вас. Воспользуйтесь как минимум советом про кеширование из данного ответа на ваш вопрос и при качественной разработки, вам будет достаточен 1 сервер с 4 Core CPU + 8GB RAM для обработки 1000-2000 онлайн, как минимум.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы