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

How to retrieve steam market price history?

我正在尝试获取 Steam 市场上物品的价格历史记录。我找到了一个 link returns 特定商品的价格历史记录(几乎每个关于从该站点获取市场价格历史记录的问题都提到了这一点)。

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

当我登录 Steam 时,它在浏览器中工作正常,但是当我尝试在 python 中做同样的事情时,它 returns 一个空列表(同样的事情发生了当我尝试在没有登录 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)

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

您需要将 CookiesteamLogin 设置为您的会话 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);

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

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

哪里写着{'steamLogin':'...'},应该是{'steamLoginSecure':'...'}。所以正确的代码是:

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