Получить результаты Steam Market (API) в евро

Я использую этот URL-адрес, чтобы получить 100 результатов одновременно для контейнеров CS:GO. Я заменяю {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
  • 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 market (если у вас сайт в евро).

EDIT: кажется невозможным в данный момент. Если это станет возможным, опубликуйте новый ответ!


person Brambor    schedule 31.01.2021    source источник
comment
Вы хотите, чтобы это было в евро или нет?   -  person Bijay Regmi    schedule 16.02.2021
comment
@JackSparrow Да, я хотел бы получить результаты в евро. В частности, я хотел бы получить те же результаты (цена в евро), что и на рынке Steam отредактированосообщество steam/steam пост для уточнения, спасибо!   -  person Brambor    schedule 16.02.2021
comment
Обязательно включите параметр 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, чтобы получить все результаты.   -  person Bijay Regmi    schedule 16.02.2021
comment
на каждой странице поиска, которую вы хотите, вы можете добавить /render к странице https://steamcommunity.com/market/search, чтобы рабочий URL-адрес выглядел как https://steamcommunity.com/market/search/render, и вы указываете такие параметры, как norender=1и l=english, чтобы получить результаты на английском языке, обратите внимание, что Steam автоматически определяет язык и валюту на основе языка браузера и автоматически показывает цены в эта валюта.   -  person Bijay Regmi    schedule 16.02.2021
comment
@JackSparrow Я действительно не думаю, что это приблизит меня к отображению рынка сообщества Steam в евро.   -  person Brambor    schedule 18.02.2021


Ответы (1)


Получить результаты Steam Market (API) в евро

К сожалению, это невозможно. Параметр, на который вы ссылаетесь, то есть currency, позволяет вызывать только определенные подстраницы, например:

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

(поиск цены Fracture Case) — возвращает:

{успех:правда,самая низкая_цена:0,39€,объем:84,984,медианная_цена:0,39€}

Если вы измените currency на 1 (в долларах):

{успех:правда,самая низкая_цена:0,49 доллара,объем:84 847,медианная_цена:0,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 или для статических валютных пар с определенным коэффициентом). Хотя, как вы специально упомянули, что хотите сделать это по официальной цене (расчет вручную приводит к различиям, связанным с паром), это недопустимый вариант.

person J. M. Arnold    schedule 22.02.2021