以欧元获取 Steam 市场 (API) 结果
Get Steam Market (API) results in euro
我使用这个 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"
"¤cy={currency}"
"&start={start}")
据我了解:
category_730_Type%5B%5D=tag_CSGO_Type_WeaponCase
是选择CS:GO个箱子
norender=1
就是得不到html
count=100
- 每页结果
sort_column=name&sort_dir=asc
订购
currency=3
选择欧元作为货币 <-- 不起作用
start=100
从结果 100 开始
但是,我更改了货币,它没有更改 sell_price
也没有更改 sell_price_text
作为响应。它仍然打印:
(...) "sell_listings":68,"sell_price":963,"sell_price_text":"9,63€" (...)
注意 €.
我那里有错字吗? currency
甚至在 Steam 部分进行了解析吗?
要crystal清楚。我想获得与 steam market 上显示的相同价格(以欧元为单位)(如果您的网站以欧元为单位)。
编辑: 目前看来不可能。 如果可行,请post一个新的答案!
Get Steam Market (API) results in euro
很遗憾,这是不可能的。您所指的参数,即 currency
仅允许调用特定的子页面,例如:
https://steamcommunity.com/market/priceoverview/?appid=730¤cy=3&market_hash_name=Fracture%20Case
(求骨折盒价格) - returns:
{"success":true,"lowest_price":"0,39€","volume":"84,984","median_price":"0,39€"}
如果您将 currency
更改为等于 1
(美元):
{"success":true,"lowest_price":"[=24=].49","volume":"84,847","median_price":"[=24=].48"}
如您所见,currency
与 https://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 相关),但这不是一个有效的选择。
我遇到了完全相同的问题,我唯一的解决办法是在请求中包含我的 cookie,这样 steam 就知道我的登录信息并自动以我的默认货币发送价格。
"Cookie":
"steamMachineAuthXXXXXXXXXXXXXXXXX=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX; "
"Steam_Language=english; "
"steamLoginSecure=XXXXXXXXXXXXXXXXX||XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX; "
注意:出于安全原因,我将实际值更改为“X”。
我使用这个 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"
"¤cy={currency}"
"&start={start}")
据我了解:
category_730_Type%5B%5D=tag_CSGO_Type_WeaponCase
是选择CS:GO个箱子norender=1
就是得不到htmlcount=100
- 每页结果sort_column=name&sort_dir=asc
订购currency=3
选择欧元作为货币 <-- 不起作用start=100
从结果 100 开始
但是,我更改了货币,它没有更改 sell_price
也没有更改 sell_price_text
作为响应。它仍然打印:
(...) "sell_listings":68,"sell_price":963,"sell_price_text":"9,63€" (...)
注意 €.
我那里有错字吗? currency
甚至在 Steam 部分进行了解析吗?
要crystal清楚。我想获得与 steam market 上显示的相同价格(以欧元为单位)(如果您的网站以欧元为单位)。
编辑: 目前看来不可能。 如果可行,请post一个新的答案!
Get Steam Market (API) results in euro
很遗憾,这是不可能的。您所指的参数,即 currency
仅允许调用特定的子页面,例如:
https://steamcommunity.com/market/priceoverview/?appid=730¤cy=3&market_hash_name=Fracture%20Case
(求骨折盒价格) - returns:
{"success":true,"lowest_price":"0,39€","volume":"84,984","median_price":"0,39€"}
如果您将 currency
更改为等于 1
(美元):
{"success":true,"lowest_price":"[=24=].49","volume":"84,847","median_price":"[=24=].48"}
如您所见,currency
与 https://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 相关),但这不是一个有效的选择。
我遇到了完全相同的问题,我唯一的解决办法是在请求中包含我的 cookie,这样 steam 就知道我的登录信息并自动以我的默认货币发送价格。
"Cookie":
"steamMachineAuthXXXXXXXXXXXXXXXXX=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX; "
"Steam_Language=english; "
"steamLoginSecure=XXXXXXXXXXXXXXXXX||XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX; "
注意:出于安全原因,我将实际值更改为“X”。