Steam 商店抓取 - 如何获取其他国家/地区的价格?

问题描述 投票:0回答:3

对于一个项目,我想显示有关 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 地理定位,但是这个参数就没有意义了。

除了使用这些地点的代理之外,有谁知道如何检索其他货币/国家。

谢谢!

web-scraping steam steam-web-api steamworks-api
3个回答
1
投票

有一个网站 SteamDB 有游戏价格。他们有 bundles 页面,您可以代替 Steam 抓取该页面并获取不同国家/地区的价格。

脚注中还有 Steam Web API,我不知道它的作用,但它可能有某种 API 可以帮助您获取捆绑包的价格。


0
投票

据我所知,在返回包含产品价格的页面之前,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 的连接/

快乐编码,祝你好运!


0
投票

要以其他货币查看,请将 ?cc=xx 添加到 Steam 商店 URL 的末尾。例如:https://store.steampowered.com/app/1839700/Milk_Bottle_And_Monster_Girl/?cc=DE

这将为您提供德国支付的游戏价格。在这种情况下,是欧元。请始终使用国家/地区代码查看其他货币。

© www.soinside.com 2019 - 2024. All rights reserved.