und es hat insgesamt wohl mehr Schaden angerichtet als es gebracht hat
Hast du dazu nähere Infos? Hab das nämlich auf dem Medikationsplan meiner Mutter entdeckt.
Gern als PM
und es hat insgesamt wohl mehr Schaden angerichtet als es gebracht hat
Hast du dazu nähere Infos? Hab das nämlich auf dem Medikationsplan meiner Mutter entdeckt.
Gern als PM
Hast du dazu nähere Infos? Hab das nämlich auf dem Medikationsplan meiner Mutter entdeckt.
Mhmm, bitte den Plan nicht ohne Konsultierung des behandelnden Arztes ändern.
Gern als PM
Gerne auch öffentlich, mich würde eine Studie dazu auch interessieren
Gerne auch öffentlich, mich würde eine Studie dazu auch interessieren
Man kann übrigens beliebig viele Personen zu einer Konversation einladen; was ich im vorliegenden Fall für sinnvoll erachten würde.
Hab mal ein kleines Python Skript geschrieben - was die entsprechenden Daten gecrawlt (Also Posts pro User und Anzahl der Reaktionen - die anderen Daten kann man aber auch noch leicht extrahieren).
Aber nur mit User und Post Id (Auch das wäre möglich - die user Seite aufrufen und entsprechend den Status und die gesamt Post Zahl auslesen)
Das hier ist eher mal ein Versuch ob es geht (Zahlen sollten stimmen die von "Proxy" stimmen mit dem von https://laengstes.serverless.industries/ überein - der User ist ja schon lange inaktiv)
Codehttps://forum.netcup.de/sonstiges/smalltalk/1051-das-l%C3%A4ngste-thema/?pageNo=xxxx abrufen möglich
Und bei den Usern mit
Und Das Ergebniss top 20 User
Code: ErgbnissAlles anzeigen+-------+-------+----------------+ | Id | Count | Count Reaction | +-------+-------+----------------+ | 11084 | 4084 | 182 | | 597 | 3445 | 412 | | None | 2245 | 0 | | 1855 | 2203 | 0 | | 9267 | 1891 | 258 | | 1600 | 1841 | 0 | | 1320 | 1396 | 97 | | 13439 | 1364 | 66 | | 10890 | 1308 | 30 | | 10138 | 1259 | 0 | | 13559 | 1197 | 160 | | 1024 | 1096 | 0 | | | 1050 | 0 | | 18644 | 855 | 441 | | 11751 | 844 | 107 | | 2316 | 762 | 25 | | 1941 | 749 | 207 | | 12183 | 713 | 0 | | 14767 | 662 | 114 | | 3 | 655 | 0 | | 18859 | 514 | 182 |
Hier noch das Skript (ja es sehr umständlich und unschön)
tdqm ist unötig und nur für die Progess Bar und prettytable weil ich kein eigne Funktion dafür schreiben wollte
perryflynn irgendeine API scheint es nicht zu geben oder - man muss einfach die ganze Seite laden und die Daten aus dem HTMl Extrahieren oder?
import time
import requests
from bs4 import BeautifulSoup
from prettytable import PrettyTable
from tqdm import tqdm
# Pars Functions
def parm(pageNo):
return {'pageNo' : pageNo}
def response(pageNo):
return requests.get(
'https://forum.netcup.de/sonstiges/smalltalk/1051-das-l%C3%A4ngste-thema/?pageNo=' + str(pageNo),
params=pageNo,
)
# Global Vars
users = [{"id" : "", "count" : 0, "countR" : 0}]
post = [{"id" : "", "count" : 0, "userId" : ""}]
def printOutUser(list):
t = PrettyTable(['Id', 'Count', "Count Reaction"])
for l in list:
t.add_row([l["id"], l["count"], l["countR"]])
print(t)
def printOutPost(list):
t = PrettyTable(['Id',"Count Reaction", "User"])
for l in list:
t.add_row([l["id"], l["count"], l["userId"]])
print(t)
def getPost(page):
parsed_html = BeautifulSoup(response(page).text, 'html.parser')
postsList = (parsed_html.body.find_all("article"))
for p in postsList:
try:
userId = p.get("data-user-id")
postId = p.get("data-post-id")
reaction = p.findAll("span", {"class" : "reactionCount"})
rCount = 0
found = False
# Zähle Reaktionen
for r in reaction:
rCount += int(r.text)
# Füge User zu der Liste hinzu
for idu, u in enumerate(users):
if u["id"] == userId:
users[idu] = {"id" : userId, "count" : u["count"] + 1, "countR" : u["countR"] + rCount}
found = True
if found == False:
users.append({"id" : userId, "count" : 1, "countR" : rCount})
# Füge Posts zu der Liste hinzu
if rCount > 0:
post.append({"id" : postId, "count" : rCount, "userId" : userId})
except:
pass
# Gehe Alle Posts durch
pbar = tqdm(total=2246)
for i in range(1, 2246):
pbar.update(1)
if i%100 == 0:
print("Update bei i= " + str(i))
userSortCount = sorted(users, key=lambda d: d['count'], reverse=True)
userSortRec = sorted(users, key=lambda d: d['countR'], reverse=True)
postSort = sorted(post, key=lambda d: d['count'], reverse=True)
printOutUser(userSortCount)
printOutPost(postSort)
getPost(i)
pbar.close
userSortCount = sorted(users, key=lambda d: d['count'], reverse=True)
userSortRec = sorted(users, key=lambda d: d['countR'], reverse=True)
postSort = sorted(post, key=lambda d: d['count'], reverse=True)
print("END: ")
printOutUser(userSortCount)
printOutPost(postSort)
Alles anzeigen
Im Sinne der Diskussion um das Duzen und das Gendern im aktuellen Thread, möchte ich ab sofort nur noch mit Sie und genderneutral (nach Kronschläger/Phettberg) angesprochen werden.
In Zusammenhang mit meinem neuen Forenrang bietet sich allerdings - statt des profanen Siezens - die historische Kontextform "Euer" an.
Also bitte in Zukunft kein plumpes "Du hast geschrieben..." mehr, sondern das angemessene "Euer Erleuchtety schrieb..."
Im Sinne der Diskussion um das Duzen und das Gendern im aktuellen Thread, möchte ich ab sofort nur noch mit Sie und genderneutral (nach Kronschläger/Phettberg) angesprochen werden.
In Zusammenhang mit meinem neuen Forenrang bietet sich allerdings - statt des profanen Siezens - die historische Kontextform "Euer" an.
Also bitte in Zukunft kein plumpes "Du hast geschrieben..." mehr, sondern das angemessene "Euer Erleuchtety schrieb..."
Wir müsse ja von Eueren Beiträgen 855 abziehen (wegen Spam im Längsten Thread) -> 1625 "echte" Beiträge und daher -8125 Punkte -> kein Erleuchteter mehr (und noch -441 für die Rekationen)
OK. Das ist en Argument. Ich ziehe meinen Wunsch zurück.
irgendeine API scheint es nicht zu geben oder - man muss einfach die ganze Seite laden und die Daten aus dem HTMl Extrahieren oder?
Nein. Ich hab aber auch nie bei netcup nachgefragt ob man das ändern kann. Das ist jedenfalls der Grund, wieso mein Projekt so viele Unit Tests hat. Hab schon gut drauf geachtet, dass da nicht unnötig Traffic/Überlast auf dem Forum Server verursacht wird.
Nein. Ich hab aber auch nie bei netcup nachgefragt ob man das ändern kann. Das ist jedenfalls der Grund, wieso mein Projekt so viele Unit Tests hat. Hab schon gut drauf geachtet, dass da nicht unnötig Traffic/Überlast auf dem Forum Server verursacht wird.
OK danke
Ja das ist klar wenn man es dauerhaften laufen lassen will - meim Skript war eher ein kleiner Test und um mal einen aktuellen Stand zu bekommen.
Bis lang werden die Daten weder gespeichert noch sonst was optimiert.
Mach ich vieleicht noch wenn mir mal langweilig ist
Gerade etwas im Forum gestöbert und, was soll ich sagen. Sowas sieht man auch nicht zu häufig.
Gerade etwas im Forum gestöbert und, was soll ich sagen. Sowas sieht man auch nicht zu häufig.
Naja, die Reaktionen bzw. das Liken gibt es noch nicht sooooo lange.
Das sind halt Spammer User, die vorwiegend vor diesem Softwareupdate aktiv waren.
...oder einfach wenig Zustimmung fanden. ;P xD
huch... neuer Rang. na dann:
mit meisterlichen Grüßen
Ich würde gerne mal nach Beiträge/Reaktionen-Verhältnis sortieren können.
Einige haben ja mehr Reaktionen erhalten als sie Beiträge verfasst haben (wie ich zum Beispiel).
Einige haben ja mehr Reaktionen erhalten als sie Beiträge verfasst haben
Populismus ist halt populär und bringt viele Reaktionen.
Ich würde gerne mal nach Beiträge/Reaktionen-Verhältnis sortieren können.
Einige haben ja mehr Reaktionen erhalten als sie Beiträge verfasst haben (wie ich zum Beispiel).
Kann man sogar aus dem Skript auslesen.
Das ist dein Verhältnis:
Beiträge 143
Reaktion 99
Hab ja sogar eine Sortierung dafür eingebaut nur nicht ausgegeben - blöderweise braucht es 21 Minuten zum durchlaufen (und bis lang hat es kein Caching - was macht jetzt schon nervt - vor allem weil es leicht gewesen wäre es gibt einen Python Packet was Listen einfach als Datei schreiben und lesen kann...)
Man kann das sogar fürs ganze Forum auslesen - es gibt eine Seite mit allen Mitgliedern.
Man müsste die parsen und dann jeweils die Profil Seiten der User auch und dann die Liste/DB sortieren.
Kann man sogar aus dem Skript auslesen.
Das ist dein Verhältnis:
Beiträge 143
Reaktion 99
Muss ich das verstehen?
Sein Verhältnis Beiträge/Reaktionen wäre meines Erachtens 840/887 Stand 05.12.2022 22:12 Uhr CET
Achja, und dafür brauch ich kein Skript
Muss ich das verstehen?
Ich denke die 143/99 beziehen sich nur auf meine Beiträge/Reaktionen hier im längsten Thema.
Aso, na dann. Hab mir die Sachen zuvor nicht wirklich durchgelesen - jetzt hab ich gesehen was das Skript machen soll.
Schlafen…. Oder auf das Türchen von morgen warten?
#Adventskallender