gpt4 book ai didi

data-science - 关于 Valve 的 Steam Web API 的一些问题 - 获取 Dota 2 比赛历史

转载 作者:行者123 更新时间:2023-12-04 15:59:39 25 4
gpt4 key购买 nike

我想编写一个小程序来分析 Dota 2 比赛,以便编写一个英雄挑选工具。是否会有一些机器学习,仍然由我决定
我刚刚查看了 Steam Web API 文档并编写了一个小程序来获取数据并将其写入文件,但是我对 GetMatchHistoryBySequenceNum 和 GetMatchHistory 命令有疑问,因此我有两个问题。

  • 我使用这个“命令”来获取游戏列表:
    https‍://api.steampowered.com/IDOTA2Match_205790/GetMatchHistoryBySequenceNum/v1/?key=..my key
    IDOTA2Match_205790 是什么意思?这个命令还有一个版本,使用 IDOTA2Match_570,我得到了不同的结果。 IDOTA2Match_ID 有什么作用?我从来没有发现任何关于这方面的信息。
  • 不知何故,参数 start_at_match_seq_num 不起作用。我总是得到相同的结果。我知道我需要序列 id 而不是匹配 id,但是在使用 GetMatchHistoryBySequenceNum 时,序列 id 是一个介于 0 和 100 之间的数字。
  • 附加信息:
    我想使用 GetMatchHistoryBySequenceNum 而不是 GetMatchHistory 因为 GetMatchHistory 表现出奇怪的行为:它返回最新完成的游戏,按 排序。开始时间 ,不是完成时间。这是非常不合适的,因为它会返回许多游戏时长低于 10 分钟的游戏,很少有超过 30 分钟的游戏。
    (对于Dota玩家)我认为(我有怀疑)这也是dotapicker.com等网站似乎偏爱不朽和其他早期游戏英雄的原因。

  • 我的代码在这里:
    for($pages = 0 ; $pages<3; $pages++){

    for ($x = 0; $x <= 100; $x++){

    if(strpos($homepage, "match_id", $offset+10)==false){
    break;
    }

    $match_id_str = "";
    $index1 = strpos($homepage, "match_id", $offset+10);
    $offset = $index1;

    #10 to 16: this is the letters after the search-word "match_id" (the actual number)
    for ($x = 10; $x <= 16; $x++) {
    $match_id_str = $match_id_str.$homepage[$index1+$x];
    }

    }

    $cmd_url = "https://api.steampowered.com/IDOTA2Match_205790/GetMatchHistoryBySequenceNum/v1/?key=My_key&start_at_match_seq_num=".match_id_str;
    $homepage = file_get_contents($cmd_url);
    file_put_contents($file, $homepage, FILE_APPEND);
    }
    我知道这是一个小众话题,但这也是很难找到相关信息的原因。

    最佳答案

    聚会迟到了,但我会回答,以防其他人看到这篇文章。

    第一部分

    来自 https://dev.dota2.com/showthread.php?t=58317 :

    If you are developing your actual dynamic API calls, (first make sure you have implemented a suitable request limit as above) consider using the Dota2 Beta TEST API, which works identically to the Dota2 Beta API, except its urls are different:


    Replace "IDOTA2Match_570" with "IDOTA2Match_205790"

    第二部分
    start_at_match_seq_num需要匹配的实际序列 ID。
    您可以使用 GetMatchDetails端点以获取特定匹配项的序列号。

    https://wiki.teamfortress.com/wiki/WebAPI/GetMatchDetails

    序列号将在响应对象中列为 match_seq_num .

    关于data-science - 关于 Valve 的 Steam Web API 的一些问题 - 获取 Dota 2 比赛历史,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50860429/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com