【问题标题】:Get Steam Market (API) results in euro以欧元获取 Steam 市场 (API) 结果
【发布时间】:2021-05-04 17:21:33
【问题描述】:

我使用此 URL 在 CS:GO 容器中一次获得 100 个结果。我用{currency} 代替3{start} 代替100 的倍数,我的问题是currency=3 似乎不是欧元,大约是17% 的折扣(我必须将收到的价值乘以0.83 到得到一个很好的结果):

market_url = ("https://steamcommunity.com/market/search/render/?"
    "category_730_Type%5B%5D=tag_CSGO_Type_WeaponCase"
    "&norender=1"
    "&count=100"
    "&sort_column=name"
    "&sort_dir=asc"
    "&currency={currency}"
    "&start={start}")

据我了解:

  • category_730_Type%5B%5D=tag_CSGO_Type_WeaponCase 是选择 CS:GO crates
  • norender=1是拿不到html
  • count=100 - 每页结果
  • sort_column=name&sort_dir=asc订购
  • currency=3 选择欧元作为货币
  • start=100 从结果 100 开始

但是,我更改了不会更改sell_pricesell_price_text 的货币作为响应。它仍然打印:

(...) "sell_listings":68,"sell_price":963,"sell_price_text":"9,63€" (...) 注意欧元。

我有错字吗? currency 甚至在 steam 部分解析了吗?

要一清二楚。我想获得与steam market 上显示的相同的价格(以欧元计)(如果您有以欧元计的网站)。

编辑:目前看来是不可能的。 如果可能,请发布新答案!

【问题讨论】:

  • 你要不要用欧元?
  • @JackSparrow 是的,我想以欧元计算结果。具体来说,我希望获得与 Steam 市场上相同的结果(以欧元计价)steamcommunity.com/market/…我编辑了帖子以澄清,谢谢!
  • 确保包含参数l,根据您想要的语言进行设置。把你在上面评论中的 URL 修改为https://steamcommunity.com/market/search/render?q=&category_730_ItemSet%5B%5D=any&category_730_ProPlayer%5B%5D=any&category_730_StickerCapsule%5B%5D=any&category_730_TournamentTeam%5B%5D=any&category_730_Weapon%5B%5D=any&category_730_Type%5B%5D=tag_CSGO_Type_WeaponCase&appid=730&norender=1&l=english 来得到所有的结果。
  • 在您想要的每个搜索页面中,您可以将 /render 添加到 https://steamcommunity.com/market/search 页面,因此工作 URL 看起来像 https://steamcommunity.com/market/search/render 并且您指定像 norender=1l=english 这样的参数来获得结果英语,请注意,steam 会根据浏览器区域设置自动确定区域设置和货币,并以该货币自动显示价格。
  • @JackSparrow 我真的不认为这会让我更接近以欧元展示 Steam 社区市场。

标签: steam steam-web-api steambot


【解决方案1】:

以欧元获取 Steam 市场 (API) 结果

很遗憾,这是不可能的。您所指的参数,即currency 只允许调用特定的子页面,例如:

https://steamcommunity.com/market/priceoverview/?appid=730&currency=3&market_hash_name=Fracture%20Case

(寻找骨折盒的价格) - 返回:

{"success":true,"lowest_price":"0,39€","volume":"84,984","median_price":"0,39€"}

如果您将currency 更改为等于1(即美元):

{"success":true,"lowest_price":"$0.49","volume":"84,847","median_price":"$0.48"}

如您所见,currencyhttps://steamcommunity.com/market/priceoverview/ 完美搭配。


尽管据我所知,https://steamcommunity.com/market/search/render/? 不会将currency 参数作为输入,即货币最终将呈现为美元(或currency=1)。

您可以通过https://steamcommunity.com/market/search/render/? 抓取并通过https://steamcommunity.com/market/priceoverview/? 查找价格,尽管此选项会产生非常不准确的结果(priceoverview 仅显示有限的详细信息)。


稍微偏离主题:您可以在本地转换价格(使用其他 API 或针对具有特定因素的静态货币对)。尽管正如您特别提到的那样,您想通过官方价格进行计算(“手动”计算最终会产生差异,与 Steam 相关),但这不是一个有效的选择。

【讨论】:

    【解决方案2】:

    我遇到了完全相同的问题,我唯一的解决方案是在请求中包含我的 cookie,以便 Steam 知道我的登录信息并自动以我的默认货币发送价格。

    "Cookie":  
        "steamMachineAuthXXXXXXXXXXXXXXXXX=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX; "
        "Steam_Language=english; "
        "steamLoginSecure=XXXXXXXXXXXXXXXXX||XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX; "
    

    注意:出于安全原因,我将实际值更改为“X”。

    【讨论】:

      猜你喜欢
      • 2016-02-21
      • 1970-01-01
      • 2020-09-15
      • 1970-01-01
      • 1970-01-01
      • 2014-10-17
      • 2016-03-12
      • 1970-01-01
      • 2021-04-23
      相关资源
      最近更新 更多