2016-11-21 5 views
0

Ich versuche, Karma (Punkte) von jedem Hacker News-Benutzer mit der official API zu finden. Ich bin neu im Programmieren.Gibt es eine effizientere Methode, die Hacker News API aufzurufen?

Das folgende ist das Code-Snippet, das ich geschrieben habe, um das Karma eines bestimmten Benutzers zu erhalten. Es gibt fast 300.000 Benutzerkonten auf HN.

var request = require("request"); 

request(
    "https://hacker-news.firebaseio.com/v0/user/pg.json", 

    function (error, response, body) { 
     if (!error && response.statusCode === 200) { 
     console.log(JSON.parse(body).karma); 
    } 
}); 

Ich habe diesen Code ausgeführt, aber es ist nicht schnell. Gibt es einen besseren Weg, dies zu tun?

+0

wo denken Sie der Engpass? –

+0

@JaromandaX Aufruf der Hacker News API. –

+0

der Engpass ist die Menge der Daten, die API zurückgibt - etwa 1 Megabyte für die Probe, die Sie zur Verfügung gestellt –

Antwort

2

Es gibt einen schnelleren Weg. Verwenden Sie den folgenden API-Endpunkt:

https://hacker-news.firebaseio.com/v0/user/${username}/karma.json 

Zum Vergleich sind hier die verstrichenen Zeiten für die jeweiligen Anrufe:

/v0/user/pg.json: 9.560ms 
/v0/user/pg/karma.json: 3.061ms 
1

https://hacker-news.firebaseio.com/v0/user/<user>.json ist der einzige API-Endpunkt, der Karma zurückgibt.

Also nein, es gibt keinen besseren (verfügbaren) Weg.

Verwandte Themen