2016-07-12 2 views
-2

Ich benutze offene API von Kurs-Ära gegeben. Das Problem ist, dass es nur eine Liste von 100 Kursen gibt, ich habe auf der Website 1294 Kurse aufgelistet. Warum gibt es 100 Kurse auf Anfrage.Kurskatalog des Kurses Ära mit Rest api

mein Code

<?php 
$url = "https://api.coursera.org/api/courses.v1"; 
$result = file_get_contents($url); 
print_r($result); 
?> 

was soll ich ganze Vorlesungsverzeichnis zu holen tun, um und speichern sie in mysql db

+0

Sie sind ein talentierter Programmierer. Blättern Sie die Seitennummerierung durch und analysieren Sie sie. – Drew

+0

ich nie verwendet APIs können Sie Beispiel zur Verfügung stellen https://api.coursera.org/api/courses.v1?start=300&limit=10 – parvez

+0

Ich würde Ihre Lieblings-Programmiersprache wählen, verwenden Sie eine JSON-Routine. Ich würde C# oder Java verwenden. Das wird dir wahrscheinlich nicht helfen. – Drew

Antwort

0

Die API wird nur bei jedem Aufruf 100 Datensätze zurück. Um alle Datensätze zu erhalten, müssen Sie die Methode mehrere Male aufrufen und alle Antworten verketten/speichern.

Die Antwort gibt den folgenden Wert zurück, der zum Ändern des nachfolgenden Aufrufs verwendet werden kann.

paging":{"next":"101","total":1948},"linked":{}} 

Welche können dann entsprechend verwendet werden;

https://api.coursera.org/api/courses.v1?start=101 
+0

So ändern Sie den Startwert jedes Mal in der Schleife – parvez

+0

Ähnlich wie http://StackOverflow.com/a/31969475/2983312, außer dass Sie ein Limit von 100 (statt der Seite) verwenden und 100 nach jeder Schleife hinzufügen, bis es leer ist. – blur0224

+0

Rufen Sie einfach die URL erneut auf und ändern Sie den Wert für den Start wie oben gezeigt. Der nächste Anruf wird Daten mit einem 'nächsten' Wert von 201 – ChrisBint