Hallo, ich hab mal ein kleines Script gebastelt um die User-Liste ein wenig auszuwerten, da wir ja gerade so ein nettes neues Forum haben.
Hier sieht man wieviele Posts/Likes User bekommen. Ich habe auch mal die "interessanten" User beschriftet
Dass einige bei sehr viele Posts mit wenig Likes sitzen, liegt wohl daran dass sie im versteckten Team-Bereich postet - ihr müsst euch mehr Likes geben, Teamler!
Und natürlich Glückwunsch an Halbblut für die meisten Posts und Likes, aber auch Bill Tscherno, SaitoHajime und Celes für die außergewöhnlich vielen Likes pro Post!
Falls ihr mal was damit rumspielen wollt, die Daten lade ich mit einem bash Skript herunter und verarbeite sie mit python.
- #!/bin/bash
- for i in {1..31}
- do curl "https://forum.runesofmagic.gameforge.com/members-list/?pageNo=$i" >> raw0
- done
- cat raw0 | grep "gameforge.com\/user\/" | cut -d \/ -f 5 | sort -u > users
- for u in $(cat users)
- do curl "https://forum.runesofmagic.gameforge.com/user/$u/" > $u
- p=$(cat $u | grep Posts\ by -A 1 | grep dd | cut -d \> -f 2 | cut -d \< -f 1)
- l=$(cat $u | grep Likes\ Received -A 1 | grep dd | cut -d \> -f 2 | cut -d \< -f 1)
- printf "$u; $p; $l\n" >> data
- done
Bei dem Ergebis muss man noch ein paar kaputte Zeilen korrigieren.
- import numpy as np
- import matplotlib.pyplot as plt
- d=np.genfromtxt("data", delimiter=";", dtype="str")
- e=[]
- l=[]
- for i in range(len(d)):
- d[i][0]=d[i][0].strip()
- d[i][1]=d[i][1].strip()
- d[i][2]=d[i][2].strip()
- if d[i][2].isdigit():
- if d[i][1].isdigit():
- x=[int(d[i][1]), int(d[i][2])]
- e.append(x)
- l.append(d[i][0])
- e=np.array(e)
- for i in range(len(e)):
- if e[i][0] > 100 or e[i][1] > 30:
- plt.scatter(e[i][0],e[i][1],label=l[i])
- else:
- plt.scatter(e[i][0],e[i][1],color="black",marker=".")
- plt.ylabel("Likes")
- plt.xlabel("Posts")
- plt.legend()
- plt.show()
Die Variablennamen sind jetzt nicht so sonderlich nett und Kommentare hab ich auch vergessen , falls Fragen da sind erkläre / verbessere ich das aber gerne
Edit: Die Daten sind von ca. 13:30, 22.07.2018