Das nächste Data Mining

In einem meiner letzten Artikel habe ich bereits über mein Mining von Bahndaten geschrieben, da ich gerne auch noch andere Daten minen würde habe ich in den letzten Wochen nach APIs gesucht, welche mir viele Datensätze bereitstellen, welche ich entweder wieder über ein Grafana oder manuell analysieren kann. Ich habe mich nun dafür entschieden Datensätze der Spiele-Plattform Steam zu sammeln, genauer gesagt Preisveränderung oder Veränderung der Ratings bzw. Online Zahlen.

Angepeilte Datensätze

Anders als bei den DB-Daten wird in diesem Fall erstaunlicherweise kein API-Token benötigt, allerdings sind auch kaum Informationen zu den Endpunkten zu finden. Ich konnte allerdings Endpunkte für folgende Daten ausfindig machen:

  • Alle verfügbaren Apps (auch Server und unveröffentlichte Spiele)
  • App-Details anhand der AppId (z.B. Preise, Ratings, Description…)
  • Spieler die derzeit im Spiel online sind

Ablauf der neuen Sammlung

Als Erstes werde ich die Liste aller verfügbaren Apps anfragen (welche eine erhebliche Größe aufweist). Mit Hilfe von Anfragen an die API für App-Details kann ich diese dann auf Spiele reduzieren, da mich nur diese Daten interessieren. Außerdem erfahren ich so schon mal den derzeitigen Preis sowie das derzeitige Rating des Spiels. Zu guter Letzt kann ich nun noch die derzeitige Anzahl der Spieler abfragen und schon habe ich ein Datenset, welches ich analysieren kann.

Performance

Bei dieser Datensammlung erwarte ich eine deutlich größere Datenmenge als zuvor auch muss ich diesmal deutlich performanter Anfragen an die API senden, sodass ich auf MultiThreading und Queueing zurückgreifen werde, um die tausenden API-Anfragen so performant wie möglich zu machen ohne diese alle auf einmal abzusenden. Dies muss ich auch tun, da ich keine Information über die geltenden Rate-Limits habe.

Beginn der Datensammlung

Der Plan ist es in den nächsten Wochen mit der Datensammlung zu beginnen und mit der Anzahl der Threads und deren Taktung zu experimentieren bzw. zu optimieren. Mit der Entwicklung des Clients habe ich auch bereits begonnen und werde die Arbeit daran in kürze abschließen können. Sobald ich die ersten Daten gesammelt habe, werde ich über diese in einem neuen Post berichten, welchen ich dann auch hier verlinken werde.

Repository

https://github.com/Ancocodet/steam-mining

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht.

Meinen Namen, meine E-Mail-Adresse und meine Website in diesem Browser speichern, bis ich wieder kommentiere.