- Der Autor hat alle Daten von Hacker News heruntergeladen und mit DuckDB analysiert
- Alle Items im Umfang von 20 GB (Stories + Kommentare) wurden als JSON-Dateien gespeichert, so dass auch künftige Updates möglich sind
- Mit DuckDB wurde eine wöchentliche Zeitreihenanalyse des Erwähnungsanteils von Begriffen wie „Python“, „JavaScript“, „Ruby“ und „Rust“ durchgeführt
- Für das Schreiben von SQL wurde ein LLM genutzt, sodass auch Einsteiger komplexe Analysen leicht durchführen konnten
- Das Projekt ist auf der öffentlichen Website hn.unlurker.com einsehbar, und jeder kann diese Daten als Grundlage für eigene Analysen weiterverwenden
Die kompletten Hacker-News-Daten abgreifen
- Beim Erstellen von
hn.unlurker.com entwickelte der Autor einen eigenen HN-API-Client in Go; begonnen hat es als persönliches Projekt mit modernen Go-Funktionen und Linter
- Ein
scan-Befehl wurde implementiert, um alle Hacker-News-Items (Stories und Kommentare aus der HN API) ab 0 der Reihe nach vollständig herunterzuladen
- Der Download wurde zwar mehrfach unterbrochen, doch dank einer wiederaufnehmbaren Struktur konnten in wenigen Stunden rund 20 GiB JSON-Dateien gesichert werden
Text-Zeitreihenanalyse mit DuckDB
- Während zunächst mit
grep einfache Muster durchsucht wurden, wurde anschließend DuckDB als Analyse-Tool ausprobiert, eine schnelle Datenbank, die für kleine Analysen mit einzelnen Dateien optimiert ist
- Die JSON-Dateien wurden als Tabellen eingelesen, und der Anteil der in den Item-Texten erwähnten Sprachen wurde wochenweise berechnet
- Es wurde SQL geschrieben, um die Anteile mit Python-, JavaScript-, Java-, Ruby- und Rust-Schlüsselwörtern als 12-Wochen-Gleitdurchschnitt zu visualisieren
- Dank der neuen UI von DuckDB war die Nutzung einfach, und mit Hilfe eines LLM ließ sich auch SQL leicht schreiben
Ergebnisse und nächste Pläne
- DuckDB bietet für Datenanalysen in dieser Größenordnung hervorragende Leistung und Benutzerfreundlichkeit
- Nach Abschluss der Datensammlung erwähnte der Autor halb im Scherz, halb im Ernst, er werde „Hunderte LLM-basierte Bots trainieren und damit Hacker News ersetzen“
- Das eigentliche Ziel der Datensammlung und Analyse wurde jedoch erreicht, und das Projekt endet hier
- Für die weitere Analyse sei es nun an anderen, auf Basis dieser Daten neue Erkenntnisse zu gewinnen
Weiterführende Links
1 Kommentare
Hacker-News-Kommentare
Es gibt zwei DBs, die die Hacker-News-Tabellen aktualisieren, sodass man sie ohne Download analysieren kann
Ich habe in der Vergangenheit etwas Ähnliches für die Twitter-/Bluesky-Konten von @fesshole gemacht
Ich hatte eine 20-GiB-JSON-Datei mit sämtlichen Inhalten von Hacker News
Abfragen nach Java enthalten alle Vorkommen von JavaScript, wodurch Java überrepräsentiert ist
Ich frage mich, was die Netiquette beim Herunterladen von Hacker News ist
Es wird vorhergesagt, dass viele APIs künftig eine Option anbieten werden, duckdb-Dateien zurückzugeben
Ich habe etwas Ähnliches gemacht
Nachdem man alle Hacker-News-Inhalte lokal heruntergeladen hat, könnte man einen LLM-basierten Bot trainieren und als Mitwirkenden betreiben
Die Bitte, keine kumulativen Diagramme zu verwenden
Ich habe früher einen Hacker-News-Datendump erstellt