如何检索蒸汽市场价格历史记录?

Ily*_*rov 3 python steam-web-api steam

我正在尝试获取蒸汽市场上物品的价格历史记录。我找到了一个返回特定商品价格历史记录的链接(几乎每个有关从该网站的市场获取价格历史记录的问题都提到了这一点)。

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

当我登录 Steam 时,它在浏览器中运行良好,但是当我尝试在 python 中执行相同的操作时,它返回一个空列表(当我尝试在浏览器中执行此操作而不登录时,也会发生同样的情况 -在 Steam 中)。这是我的 python 代码(使用请求库):

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)
Run Code Online (Sandbox Code Playgroud)

所以,问题是:有没有办法在使用 python(或其他语言)发出请求时模拟登录 Steam?

nim*_*ims 5

您需要将Cookie密钥设置steamLogin为您的会话 ID。您可以在浏览器上登录并获取该值。

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);
Run Code Online (Sandbox Code Playgroud)

我在这里使用了一个随机steamLogin值,将其更改为您的会话 ID。

您也可以尝试通过 python 执行登录,但您可能想关闭 steam 防护以使事情变得更简单。我本来会演示自动执行登录,但我不希望禁用我的 Steam 防护并获得 15 天的交易限制。