对于一个项目,我想显示有关 Steam 游戏的数据,因此我尝试从 Steam 商店检索数据。对于应用程序和软件包,有一个非常好的 API 可供使用。 (例如:
https://store.steampowered.com/api/appdetails?appids=905370&filters=&cc=US&l=english
)
,但无法获取捆绑包的数据。所以我必须从商店中单独检索每个捆绑包(通过抓取)。 (例如:https://store.steampowered.com/bundle/1232/Resident_Evil_456/
)。
我知道如何抓取,但问题是从其他地点获取数据,意味着来自其他国家的价格。我尝试了所有方法,但无法获得其他货币。 cookie 标头中有一个“steamCountry”参数,如下所示:
steamCountry=DE%7Ca430f80515ce15e271873b3b1ed6a207;
,但是当我将此参数更改为 US
或其他国家时,没有任何变化。我担心他们正在使用 IP 地理定位,但是这个参数就没有意义了。
除了使用这些地点的代理之外,有谁知道如何检索其他货币/国家。
谢谢!
据我所知,在返回包含产品价格的页面之前,Steam 会调用此链接“https://store.steampowered.com/dynamicstore/saledata/?cc=US”来获取您所在国家/地区的 cookie。如果您设法在更改国家/地区代码的情况下调用它,例如 https://store.steampowered.com/dynamicstore/saledata/?cc=FR,我认为这可能就可以了。
否则,解决方案是集成一些以编程方式查找、连接和断开 VPN 的代码(这里是我找到的一些代码:https://www.codeguru.com/visual-basic/programmatically-finding-connecting-to-并断开与 VPN 的连接/)
快乐编码,祝你好运!
要以其他货币查看,请将 ?cc=xx 添加到 Steam 商店 URL 的末尾。例如:https://store.steampowered.com/app/1839700/Milk_Bottle_And_Monster_Girl/?cc=DE
这将为您提供德国支付的游戏价格。在这种情况下,是欧元。请始终使用国家/地区代码查看其他货币。