我想写一个小程序来分析Dota 2的比赛,以便编写一个Hero Picking Tool ..如果有一些机器学习,仍然由我决定
我刚刚查看了Steam Web API文档并编写了一个小程序来获取Data并将其写入文件,但是我对命令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);
}
我希望有人可以帮助我,我知道这是一个利基话题,但这也是为什么很难找到相关信息的原因。