Как получить историю цен на рынке Steam?

Я пытаюсь получить историю цен на предметы на рынке Steam. Я нашел ссылку, которая возвращает историю цен для определенного товара (который упоминается почти в каждом вопросе о получении истории цен с рынка на этом сайте).

http://steamcommunity.com/market/pricehistory/?country=PT¤cy=3&appid=730&market_hash_name=Falchion%20Case

Он отлично работает в браузере, когда я вошел в систему в Steam, но когда я пытаюсь сделать то же самое в python, он возвращает пустой список (то же самое происходит, когда я пытаюсь сделать это в браузере без входа в систему). в Steam). Это мой код Python (использует запросы lib):

import requests

params = {'country': 'RU', 'currency': 5, 'appid': 730, 'market_hash_name': 'Falchion%20Case'}
data = requests.get('http://steamcommunity.com/market/pricehistory', params=params)
print(data.text)

Итак, вопрос: есть ли способ эмулировать вход в Steam при выполнении запросов на python (или другом языке)?


person Ilya Peterov    schedule 12.08.2015    source источник
comment
Вы можете сделать это с помощью javascript, используя сеанс браузера.   -  person Hacketo    schedule 12.08.2015
comment
@Hacketo, спасибо за предложение, оно привело меня к мысли, что я могу использовать cookielib и python для эмуляции сеанса браузера. Я собираюсь попробовать, если это сработает.   -  person Ilya Peterov    schedule 12.08.2015


Ответы (1)


Вам нужно установить ключ Cookie steamLogin на идентификатор вашего сеанса. Вы можете выполнить вход в свой браузер и получить это значение.

cookie = {'steamLogin': '76561198058933558%7C%7C2553658936E891AAD'}    
data = requests.get('http://steamcommunity.com/market/pricehistory/?country=PT&currency=3&appid=730&market_hash_name=Falchion%20Case', cookies=cookie);

Я использовал здесь случайное значение steamLogin, измените его на идентификатор вашего сеанса.

Вы также можете попробовать выполнить вход через python, но вы можете отключить Steam Guard, чтобы упростить задачу. Я бы продемонстрировал автоматический вход в систему, но я не хочу отключать Steam Guard и получать 15-дневное ограничение на торговлю.

person nims    schedule 12.08.2015
comment
как получить логин стим? - person FistOfFury; 27.02.2017
comment
@FistOfFury Для Chrome: настройки › дополнительные › настройки контента › файлы cookie › просмотреть все файлы cookie и данные сайта › найти steamcommunity.com › найти steamLoginSecure › скопировать строку содержимого - person Bhavik Hirani; 07.10.2020