Нужна помощь с получением инвентаря в Steam
Мне нужно собрать все предметы в инвентаре стим профиля пользователя (CS:GO), использовал офф. апи, но оно не выдает кол-во предметов (если в инвентаре 10 одинаковых кейсов, выдаст только 1), соответственно обьективно расчитать цену инвентаря не выйдет. Могу использовать как куки файлы, так и стим айди профиля для анализа. Пишу на Python. Пробовал так же этот сервис "https://steam.tools/", но там как я понял даже для отправки запроса нужна капча, не работал с ней. Помогите пжлста
Ответы (1 шт):
Приведенный метод работ корректно. Чтобы в этом убедиться можно сделать так:
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.