- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 Django 环境,我想从 Steam 中提取统计数据。然而,Steam 的 API 非常愚蠢,因为它们有大约 20 个不同的 URL,我想从中获取信息的主要两个是:
我正在使用 Python Requests 库来 GET
来自 Steam 的数据。
import requests
import json
from xml.dom.minidom import parseString
STEAM_API_URL = 'http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002'
STEAM_API_KEY = 'XXXXX'
STEAM_USERNAME = 'niteshade'
# Make request to steamcommunity.com with the username to get the 64-bit Steam ID
username_r = requests.get('http://steamcommunity.com/id/{0}/games?tab=all&xml=1'.format(STEAM_USERNAME))
steamid = str(parseString(username_r.text.encode('utf-8')).getElementsByTagName('steamID64')[0].firstChild.wholeText)
totalgames = parseString(username_r.text.encode('utf-8')).getElementsByTagName('game').length
data = {
'key': STEAM_API_KEY,
'steamids': steamid,
}
user_r = requests.get(STEAM_API_URL, params=data)
#user_r.json['response']['players'][0].update({'totalgames'.encode('utf-8'): totalgames})
当我查询 steamcommunity.com
时我得到这样的回复:
<gamesList>
<steamID64>12345</steamID64>
<steamID>aSteamID</steamID>
<games>
<game>
<appID>201790</appID>
<name>Orcs Must Die! 2</name>
<logo>http://media.steampowered.com/steamcommunity/public/images/apps/201790/c345d9b205f349f0e7f4e6cdf8af4d0b7d242505.jpg</logo>
<storeLink>http://steamcommunity.com/app/201790</storeLink>
<hoursLast2Weeks>2.2</hoursLast2Weeks><hoursOnRecord>14.3</hoursOnRecord>
<statsLink>http://steamcommunity.com/id/niteshade/stats/201790</statsLink>
<globalStatsLink>http://steamcommunity.com/stats/201790/achievements/</globalStatsLink>
</game>
<game>
<appID>113200</appID>
<name>The Binding of Isaac</name>
<logo>http://media.steampowered.com/steamcommunity/public/images/apps/113200/d9a7ee7e07dffed1700cb8b3b9482105b88cc5b5.jpg</logo>
<storeLink>http://steamcommunity.com/app/113200</storeLink>
<hoursLast2Weeks>0.2</hoursLast2Weeks>
<hoursOnRecord>22.8</hoursOnRecord>
<statsLink>http://steamcommunity.com/id/niteshade/stats/BindingOfIsaac</statsLink>
<globalStatsLink>http://steamcommunity.com/stats/BindingOfIsaac/achievements/</globalStatsLink>
</game>
<game>
<appID>19680</appID>
<name>Alice: Madness Returns</name>
<logo>http://media.steampowered.com/steamcommunity/public/images/apps/19680/16eb0cc15cde07377c0cb3bffa6d92bbc6dd72b2.jpg</logo>
<storeLink>http://steamcommunity.com/app/19680</storeLink>
</game>
</games>
来自api.steampowered.com
我明白了:
{
"response": {
"players": [
{
"steamid": "12345",
"communityvisibilitystate": 3,
"profilestate": 1,
"personaname": "aSteamID",
"lastlogoff": 1351676021,
"profileurl": "http:\/\/steamcommunity.com\/id\/aSteamID\/",
"avatar": "http:\/\/media.steampowered.com\/steamcommunity\/public\/images\/avatars\/b2\/b261f66a17bfa6c95b24f8b4c6b58bb3776d57e4.jpg",
"avatarmedium": "http:\/\/media.steampowered.com\/steamcommunity\/public\/images\/avatars\/b2\/b261f66a17bfa6c95b24f8b4c6b58bb3776d57e4_medium.jpg",
"avatarfull": "http:\/\/media.steampowered.com\/steamcommunity\/public\/images\/avatars\/b2\/b261f66a17bfa6c95b24f8b4c6b58bb3776d57e4_full.jpg",
"personastate": 4,
"realname": "Real Name",
"primaryclanid": "103582791429705688",
"timecreated": 1250966723,
"loccountrycode": "GB"
}
]
}
}
基本上,能够从 api.steampowered.com
得到任何东西,我需要一个 Steam ID。为此,我调用 steamcommunity.com
返回带有 Steam ID 等信息的 XML 文件的网站。我需要的信息如下(使用 XML/JSON 响应中的名称):
对于游戏总数,我想我只是简单地计算 <game>
的数量。 steamcommunity.com
返回的 XML 文件中的节点.它起作用了,因为我能够数出它们,但我似乎无法添加 totalgames
来自 api.steampowered.com
的 JSON 响应字段.其次,不是所有<game>
节点有 <hoursLast2Weeks>
子节点,我只想要那些做的。第三,我只想得到玩家的 friend 总数。我不是在开玩笑,我知道我必须使用另一个 GET
,但问题是将它添加到 JSON。
我的主要问题是尝试添加到 JSON 响应中,我已经查看了关于 SO 的其他示例,并尝试按照它们进行操作,但我不确定我哪里出错了。任何帮助将不胜感激。
最佳答案
更改 json 数据非常简单:
jsondata = json.loads(json_input_string)
jsondata['newkey'] = new_value
json_output_string = json.dumps(jsondata)
关于python - 解析和混合 Steam API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13179917/
我一直在查看 Steam API 文档,并且有许多服务提供 Steam 网上商店中游戏的信息,但它们似乎都需要游戏的 Steam ID 作为参数。这可以通过用户 ID 来完成,如果给定用户名,API
我正在尝试获取用户游戏统计数据。首先,我正在尝试这样做: http://api.steampowered.com/ISteamUserStats/GetUserStatsForGame/v0002/?
我正在尝试在 Steam 上找到该项目的名称。 这是我目前从 json 数组中得到的 [appid] => 730 [contextid] => 2 [assetid] => 4981322842 [
我正在开发一个使用公共(public) Steam API 来收集一些信息的应用程序。 目前我通过调用GetPlayerAchievements (v0001)检索成就和通话总时长 GetOwnedG
是否可以使用 Steam API 获取 Steam(753) 或 CsGo(730) 完整背包/库存? 我找到了一个 API,我可以在其中获取 Dota2(570) TF2(440) 的完整背包/元素
我正在尝试获取 JSON 格式的买卖订单,例如价格历史记录,但找不到任何信息。有没有办法做到这一点? Buy and Sell orders screenshot 我尝试过: https://stea
我搜索了论坛,找到了获取所有用户游戏的示例模式: http://steamcommunity.com/id//games?tab=all&xml=1 返回所有游戏。但是,如果用户尚未设置 Steam
我一直在阅读论坛并尝试 Steam API,我正在寻找提供所有 Steam 游戏的 API。 我找到了提供所有 SteamApps 的 API,以及提供应用程序信息的 Steam 商店 API(我正在
Steam 为我们提供了交易相关的API,但没有具体的地址示例:https://developer.valvesoftware.com/wiki/Steam_Web_API/IEconService#
Steam 为我们提供了交易相关的API,但没有具体的地址示例:https://developer.valvesoftware.com/wiki/Steam_Web_API/IEconService#
我正在尝试使用 Google 日历跟踪我的游戏时间/历史记录。 这是 Steam Web API在其中我找不到一种方法来获取关于我究竟在什么时候玩什么的详细信息,除了 GetRecentlyPlaye
如何使用 Steam API(已启动并运行)获取我的应用程序中当前使用(登录)帐户的 Steam 用户名。 Steam ID 可以(例如)通过以下方式获得: CSteamID id = SteamUs
有很多网站,例如www.tf2outpost.com和 www.bazaar.tf用户可以通过单击按钮添加其他 Steam 用户。你到底是如何做到这一点的? Web API 中没有任何内容向您展示如何
我使用此 URL 在 CS:GO 容器中一次获取 100 个结果。我用 {currency} 代替 3,用 {start} 代替 100 的倍数,我的问题是 currency=3 code> 似乎不是
我在 Steam API 中搜索发送 Steam 报价的方法,但找不到。可以使用 API 或者您知道其他方法吗?我想在 PHP/Symfony 中使用它。 最佳答案 您目前无法通过 API 创建交易报
我想知道有没有办法让用户输入他们的“Steam 用户名”,然后您就可以找到他们的“SteamID”。我一直在查看“Steam API”,但没有找到任何相关信息。 我的想法是让用户将他们的“Steam
是否有 API 可以获取用户的 Steam 集换式卡牌? 我对steam不太熟悉,但这个页面上好像没有。 https://developer.valvesoftware.com/wiki/Steam_
steam 桌面快捷方式 steam:// 实际如何工作? 它们的 URL/目标类似于:“steam://rungameid/717”我知道类似的东西,比如“ftp://mynetworkadress
是否有 API 可以获取用户的 Steam 集换式卡牌? 我对steam不是很熟悉,但是这个页面好像没有。 https://developer.valvesoftware.com/wiki/Steam
steam 桌面快捷方式 steam:// 实际如何工作? 它们的 URL/目标类似于:“steam://rungameid/717”我知道类似的东西,比如“ftp://mynetworkadress
我是一名优秀的程序员,十分优秀!