Нужна помощь с получением инвентаря в Steam

Мне нужно собрать все предметы в инвентаре стим профиля пользователя (CS:GO), использовал офф. апи, но оно не выдает кол-во предметов (если в инвентаре 10 одинаковых кейсов, выдаст только 1), соответственно обьективно расчитать цену инвентаря не выйдет. Могу использовать как куки файлы, так и стим айди профиля для анализа. Пишу на Python. Пробовал так же этот сервис "https://steam.tools/", но там как я понял даже для отправки запроса нужна капча, не работал с ней. Помогите пжлста


Ответы (1 шт):

Автор решения: n1tr0xs

Приведенный метод работ корректно. Чтобы в этом убедиться можно сделать так:

steamID = '' # ваш steam id
gameID = '730' # 730 - CS:GO
inv = requests.get(f'http://steamcommunity.com/id/{steamID}/inventory/json/{gameID}/2?l=english').json()
print(len(inv['rgInventory']))

и вы увидете, что количество предметов равно тому, что отображается у вас в инвентаре.

Объяснение
Метод вовзращает словарь следующего образца:

{
    'success': <class 'bool'>
    'rgInventory': <class 'dict'>
    'rgCurrency': <class 'list'>
    'rgDescriptions': <class 'dict'>
    'more': <class 'bool'>
    'more_start': <class 'bool'>
}

Ключ rgInventory - словарь, отображающий инвентарь пользователя следующего вида:

{
    'itemID': {
        {
            'id': <class 'str'>
            'classid': <class 'str'>
            'instanceid': <class 'str'>
            'amount': <class 'str'>
            'hide_in_china': <class 'int'>
            'pos': <class 'int'>
        },
    'itemID': {
       ...
    },
    ...
    }
}

Из-за того, что ключами этого словаря являются id предметов, а не id их класса - количество предметов всегда = 1.

→ Ссылка