【发布时间】:2020-05-29 10:52:31
【问题描述】:
所以我试图从 API 中的项目中保存 sellprice 和 buyprice。该 API 由 190 多种产品组成,它有一个“sell_summary”和一个“buy_summary”,在每个“sell_summary”和“buy_summary”里面都有一个“pricePerUnit”,这就是我想要访问的,保存到一个变量。这些值是浮动的,我可以访问它们并将它们保存在变量中(productNames 是一个包含所有产品名称的数组):
for x in productNames:
sell_Price = f["products"][x]["sell_summary"]
这不起作用,因为它给了我:
{'amount': 62, 'pricePerUnit': 1280.2, 'orders': 1}
而且我只对“pricePerUnit”感兴趣,我还尝试在“sell_summary”之后添加 ["pricePerUnit],但这给了我错误 TypeError: list indices must be integers or slices, not str em>。然后我尝试在两者之间添加 [0],但这给了我错误 IndexError: list index out of range。
我尝试使用数组来攻击它,并附加如下值:
sell_Price = []
for x in productNames:
sell_Price.append(f["products"][x]["sell_summary"][:1])
(obs: 我必须做 [:1] 因为 API 可以包含多个带有 pricePerUnit 的“部分”,可以在这个 pastebin 中看到:https://pastebin.com/XwW4aQVR | 只有顶部的“pricePerUnit 很有趣,因为它是最新更新的)。
但在显示“金额”、“价格单位”和“订单”时,我遇到了同样的问题。尝试执行 [0]["pricePerUnit],但出现与以前相同的错误!
[0]["pricePerUnit"] = IndexError: list index out of range
[sell_summary][pricePerUnit] = TypeError: list indices must be integers or slices, not str
我需要保存这些“pricePerUnit”值以通过我拥有的脚本运行它,该脚本应该计算(取决于用户输入)他们可以购买每种产品的多少,以及通过购买他们可以赚多少钱卖掉它!
API 链接: https://api.hypixel.net/skyblock/bazaar?key=73ac0a44-4c41-4933-a9ee-b4095be2b6d2
【问题讨论】:
-
问题是有些商品在["sell_summary" ]中有一个空列表
-
是的,我知道 API 中有一个项目没有信息,“ENCHANTED_CARROT_ON_A_STICK”,即使他们有更新的项目,他们也没有删除该项目。 “ENCHANTED_CARROT_STICK”。可能是问题所在,我该如何解决?
-
为什么不使用 ["quick_status"] 端点?
-
“quick_status”显示不正确的买入和卖出价格,其中一些是正确的,但“SUPER_COMPACTOR_3000”等项目的卖出价格(以 priceperunit 为单位)为“497131.9”,并且在 quick_status 中有售价为“488648.9”,差价约10k。以前也有过,后来发现不对! sell_summary 和 buy_summary 有正确的价格@BendikKnapstad
-
我有一种方法可以在该网站的另一个页面上获取值,但我似乎无法找到将这些值放入变量中的方法,我在另一个页面上使用它:@ 987654323@@BendikKnapstad