JSON/PHP-RIOT API-如何检索数据集


JSON/PHP - RIOT API - How to retrieve datasets

我正在为大学做一个大数据项目。我正在使用RIOT的API为传奇联盟。我想从他们的api中收集所有玩家的分区、等级、LP和胜利。每个地区可能有2500-10000名玩家。我没能找到解决方案,因为每次单独查询这个问题都很愚蠢。

这怎么可能解决?这是一个代码,可以让我所在的EUW部门的所有玩家都参与进来。也许是forloop?

<?php
    header('Content-Type: text/html; charset=utf-8');
    ini_set("display_errors", "1"); error_reporting(E_ALL);
    $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, 'https://euw.api.pvp.net/api/lol/euw/v2.5/league/by-summoner/31827832?api_key=key');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        $response = curl_exec($ch);
        curl_close($ch);
    $json = json_decode($response, true);
    $json = array_pop($json);
    foreach($json[0]['entries'] as $entry){
        // print_r($json);
                echo $entry['playerOrTeamName'] . ',' . $json[0]['tier'] . ',' . $entry['division'] . ',' . $entry['leaguePoints'] . ',' . $entry['wins'] . "<br/>";
            }
?>

问题是,这些数据不能与其他数据混合。我必须一个部门一个部门地检索,而不是同时检索所有部门。是否可以使用fput_csv();以逗号分隔这些值?我在这方面没有经验(以前没有做过这种类型的工作),非常感谢任何帮助。如果你需要更多的信息,请这样问。我希望我们能解决这个问题。我迷路了。

PS:上面显示的当前代码在http://20ff.net

根据我的理解,一旦获取数据,您就不知道该如何处理数据,并且您希望稍后再次获取数据,而不必每次都调用API。

您需要的是所谓的"持久存储",这样您就可以将数据存储在某个地方,并能够在合理的时间内轻松检索数据。有很多方法可以做到这一点,正如您所提到的,CSV文件就是其中之一。

对于这个项目,我建议你使用一个真实的数据库(对于PHP,大多数人使用MySQL),显然我们不能教你SO的整个概念,但你可以在这里阅读。