如何获取所有已存在的steam ID?

问题描述 投票:0回答:2

我计划创建 Steam 用户数据库供个人使用。所以我的计划是使用 steam ID 在 steam API 上发出请求并将结果保存在我的数据库中。但我有一个问题,我没有所有注册配置文件的 Steam ID。

我尝试了解这些 ID 是如何生成的,但我什么都不明白。我还尝试查找现有的 Steam ID 列表,但找不到。 steam ID 是如何生成的

由于steam每日限制为100,000,我无法从000000000000000001到999999999999999999,这会占用太多资源和时间。

有人可以解释一下我如何获得所有现有的 ID 吗?

steam steam-web-api
2个回答
2
投票

Steam Web API 限制和巨大的 Steam ID 数字旨在防止此类个人数据的抓取。

您接受了 Steam 使用条款和 Steam Web API 使用条款,这意味着您与 Valve 之间签订了合同。根据这些文件中提到的欧洲数据保护法规,Steam ID 可以被视为个人数据。所以你打算做的事情违背了 Valve 的利益及其用户的隐私权。

从技术角度来看,除非您尝试 SteamID64 的所有可能变体,否则无法获取所有 Steam ID。


0
投票

您似乎在链接的维基页面中错过了这部分:

Using the reverse methods, a Community ID can be converted to a regular SteamID.
The value of Z can be retrieved by checking parity of the number W:
if it's even, Y is 0, if it's odd, Y is 1 (shortly,
Y is the remainder of division of W by 2, or the result of binary AND operation with number 1).

The SteamID64 (64-bit SteamID) of Steam Community members can be found in several places:

    Players:
        In profile->steamID64 element of profile XML schema (can be opened by appending ?xml=1 to profile URL).
        In the "Add to your friends list" link (not recommended to be used in applications that login with username and password).
    Groups: in the "Enter chat room" link.

要获取所有 Steam ID,您甚至根本不需要使用 API。您可以使用常规的

https
请求来抓取 Steam 好友列表,对此应该没有限制。要从个人资料页面获取
steamID64
,请将
?xml=1
附加到完整的个人资料 URL。这将为您提供 XML 文件,其中第一个条目为
steamID64

爬取完所有好友列表后,就可以开始测试没有找到的ID,看看是否有一些没有好友的偷偷摸摸的用户。

瞧,您拥有所有 Steam ID!当然,仅限于您完成爬行的日期。我不确定是否也可以使该数据库保持最新。

© www.soinside.com 2019 - 2024. All rights reserved.