Habrastatistics: Analyse Lieser Kommentaren

Moien Habr. IN virdrun Deel D'Popularitéit vu verschiddene Sektiounen vum Site gouf analyséiert, a gläichzäiteg ass d'Fro opgestan - wéi eng Donnéeën aus Kommentaren op Artikelen extrahéiert ginn. Ech wollt och eng Hypothese testen, déi ech hei drënner diskutéieren.
Habrastatistics: Analyse Lieser Kommentaren

D'Date ware ganz interessant, mir hunn et och fäerdeg bruecht e klenge "Mini-Rating" vu Kommentatoren ze kreéieren. Weider ënner dem Schnëtt.

Datensammlung

Fir d'Analyse wäerte mir Daten fir dëst Joer 2019 benotzen, besonnesch well ech schonn eng Lëscht vun Artikelen an csv Form kritt hunn. Alles wat bleift ass d'Kommentaren aus all Artikel ze extrahieren; glécklecherweis fir eis sinn se do gespäichert a keng zousätzlech Ufroe musse gemaach ginn.

Fir Kommentarer aus engem Artikel ze markéieren, ass de folgende Code genuch:

r = requests.get("https://habr.com/ru/post/467453/")
data_html = r.text
comments = data_html.split('<div class="comment" id=')

comments_list = []
for comment in comments:
    body = Str(comment).find_between('<div class="comment__message', '<div class="comment__footer"').find_between('>', '</div>')# .replace('n', '-')
    if len(body) < 4: continue

    body = body.translate(str.maketrans(dict.fromkeys("tnrvf")))
    body = body.replace('"', "'").replace(',', " ").replace('<br>', ' ').replace('<p>', '').replace('</p>', '').replace('  ', ' ')

    user = Str(comment).find_between('data-user-login', '>').find_between('"', '"')
    date_str = Str(comment).find_between('<time class="comment__date-time comment__date-time_published', 'time>').find_between('>', '<')
    vote = Str(comment).find_between('<div class="voting-wjt', '</div>').find_between('<span', 'span>').find_between('>', '<')
    date = dateparser.parse(date_str)

    csv_data = "{},{},{},{}".format(user, date, vote, body)
    comments_list.append(csv_data)

Dëst erlaabt eis eng Lëscht vu Kommentaren ze kréien déi sou ausgesinn (Spëtznimm aus Privatsphärgrënn geläscht):

xxxxxxx,2019-02-06 11:50:00,0,А можно пример как именно?
xxxxxxx-02-24 16:15:00,+1,Побольше читайте независимые официальные источники чтобы таких вопросов не было.
xxxxxxx,2019-02-23 20:15:00,–5,А не важно главное в итоге в плюсе оказаться

Wéi Dir kënnt gesinn, fir all Kommentar kënne mir de Benotzernumm, Datum, Bewäertung an den aktuellen Text kréien. Loosst eis kucken wat mir dovunner kréien.

Iwwregens, am Ufank war d'Iddi fir Bewäertungen ze sammelen e bëssen anescht - fir ze kucken wéi eng Bewäertungen d'Benotzer ginn. Zum Beispill kënnt Dir op YouTube kucken - och den idealste Video, och e Video deen keng subjektiv Informatioun huet, reng fir Referenz oder eng Pressematdeelung, kritt nach ëmmer eng gewëssen Unzuel vu Minusen. D'Hypothese war datt et Benotzer gëtt, déi reng klinesch net alles gär hunn, vläicht gëtt Serotonin net am Gehir produzéiert oder soss eppes. Vläicht brauch eng Persoun net méi op Habré ze sëtzen, mee fir Depressioun ze behandelen ... Mee wéi et erausgestallt huet, kann ech dat hei net kontrolléieren, well ... d'Lëscht vun deenen, déi Bewäertunge ginn hunn, gëtt net am Kommentar oder Artikel gespäichert. Gutt, dat ass, mir wäerte mat den verfügbaren Donnéeën schaffen. D'Resultat ass eng "ëmgedréint" Bewäertung - Dir kënnt gesinn wéi eng Bewäertunge _empfänken_ vun de Benotzer. Wat am Prinzip och interessant ass.

Veraarbechtung

Fir unzefänken, eng traditionell Verzichterklärung. Dës Bewäertung, wéi all déi virdrun, ass inoffiziell. Ech garantéieren net datt ech néierens e Feeler gemaach hunn. Fir déi, déi un technesch Detailer interesséiert sinn, gëtt méi detailléierte Code geliwwert am viregten Deel.

Also loosst eis ufänken. Kommentare fir dëst Joer, 2019 (wat nach net eriwwer ass), goufen zur Analyse geholl. Zu der Zäit vum Schreiwen hunn d'Benotzer geschriwwen 448533 Kommentaren, d'Gréisst vun der Csv-Datei ass 288 MB. Mächteg, beandrockend.

Zäit vum Schreiwen

Loosst eis d'Kommentaren no Stonn gruppéieren, Wochendeeg a Weekender separat opdeelen.

Habrastatistics: Analyse Lieser Kommentaren

Hei interesséiere mir eis net un absolute Wäerter, mee fir relativ. Wann Dir et just "wéi et ass" kuckt, da stellt sech erausоDéi meescht Kommentarer sinn an der Aarbechtszäit vun 10 bis 18 geschriwwen 😉 Op der anerer Säit ginn Zäitzonen hei net berücksichtegt, also ass d'Fro nach op.

Loosst eis d'Verdeelung vun de Kommentaren iwwer d'Joer kucken:

Habrastatistics: Analyse Lieser Kommentaren

An trotzdem rotéiert et; e Stroum ass kloer op Wochendeeg ze gesinn - d'wëchentlech Periodizitéit ass kloer ze gesinn, sou datt mir mat zimlech héijer Vertraue kënne soen datt d'Leit Habr aus der Aarbecht liesen a kommentéieren (awer dat ass net sécher).

Iwwregens, et war eng Iddi fir d'Hypothese ze testen ob d'Zuel vun de Minusen oder Pluss déi kritt goufen vum Dag oder Zäit vum Dag ënnerscheeden, awer et war net méiglech eng Bezéiung ze fannen - d'Zäit wou d'Bewäertung uginn ass net gespäichert, an et gëtt keng direkt Verbindung mat der Zäit vum Kommentar.

Benotzer

Natierlech weess ech net déi exakt Zuel vun de Benotzer um Site. Awer déi, déi dëst Joer op d'mannst ee Kommentar hannerlooss hunn, waren ongeféier 25000 Leit.

D'Grafik vun der Unzuel vun de Messagen déi de Benotzer hannerlooss huet gesäit ganz interessant aus:

Habrastatistics: Analyse Lieser Kommentaren

Am Ufank hunn ech et selwer net gegleeft, awer et schéngt kee Feeler ze sinn. 5% vun de Benotzer verloossen 60% vun de Messagen. 10% - 74% vun alle Messagen (vun deenen, loosst mech erënneren, dëst Joer, 450 dausend). D'Majoritéit liest einfach de Site, léisst Kommentarer ganz selten, oder léisst se guer net (déi waren natierlech net op meng Lëscht abegraff).

Bewäertungen

Loosst eis op de leschten a lëschtegsten Deel vun de Statistiken goen - Bewäertungen. Aus Privatsphärgrënn ginn ech net déi voll Spëtznumm vun de Benotzer, wien dat wëll, mengen ech, erkennt sech selwer.

By Zuel vun Kommentaren fir dëst Joer sinn déi Top 5 besat vu VoXXXX (3377 Kommentarer), 0xdXXXXX (3286 Kommentarer), strXXXX (3043 Kommentarer), AmXXXX (2897 Kommentarer) an khXXXX (2748 Kommentarer).

By Zuel vun Virdeeler kritt, Top 5 si besat vun amXXXX (1395 Kommentaren, Bewäertungen +3231/-309), tvXXXX (1544 Kommentaren, Bewäertungen +3231/-97), WhuXXXX (921 Kommentaren, Bewäertungen +2288/-13), MTXXXX (1328 Kommentaren, +1383 /-7) an amaXXXX (736 Kommentaren, Bewäertung +1340/-16).

By absolut positiv Bewäertung (keen negativ bewäerten Kommentar) ass den Top vun der Spëtzt besat vun Milfgard и Boumburum. Als Ausnam presentéieren ech hir Spëtznumm voll, ech mengen, si hunn et verdéngt.

D'Nodeeler sinn och interessant. Top vun Zuel vun Minus gesammelt fir dëst Joer si besat siXX (473 Plus, 699 Minus), khXX (1915 Plus, 573 Minus) an nicXXXXX (456 Plus, 487 Minus). Awer wéi Dir gesitt, hunn dës Benotzer genuch positiv Kommentaren. Mee laut absolute Minus Den Antitopic enthält vladXXXX (55 Kommentaren, 84 Minusen, 0 Pluss), ekoXXXX (77 Kommentaren, 92 Minusen, 1 Plus) an iMXXXX (225 Kommentaren, 205 Minusen, 12 Pluss).

Konklusioun

Ech konnt net alles wat geplangt ass ausrechnen, awer ech hoffen et war interessant.

Wéi Dir gesitt, kann och en Dataset mat sou enger klenger Zuel vu Felder interessant Daten fir Analyse ubidden. Et gëtt nach vill ze gräifen, vun enger "Wuertwollek" bis zur Textanalyse. Wann interessant Resultater erauskommen, gi se publizéiert.

Source: will.com

Setzt e Commentaire