Habrastatistika: analýza komentářů čtenářů

Ahoj Habr. V předchozí díl Byla analyzována oblíbenost různých sekcí webu a zároveň vyvstala otázka - jaká data lze získat z komentářů k článkům. Chtěl jsem také otestovat jednu hypotézu, o které pojednám níže.
Habrastatistika: analýza komentářů čtenářů

Data se ukázala jako docela zajímavá a podařilo se nám sestavit i malý „minirating“ komentátorů. Pokračování pod řezem.

Sběr dat

Pro analýzu použijeme data za letošní rok 2019, zejména proto, že jsem již obdržel seznam článků ve formě csv. Zbývá pouze vytáhnout komentáře z každého článku, naštěstí pro nás jsou tam uloženy a není třeba provádět žádné další požadavky.

Ke zvýraznění komentářů k článku stačí následující kód:

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)

To nám umožňuje získat seznam komentářů, které vypadají nějak takto (přezdívky odstraněny z důvodu ochrany osobních údajů):

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

Jak vidíte, u každého komentáře můžeme získat uživatelské jméno, datum, hodnocení a skutečný text. Podívejme se, co z toho můžeme získat.

Mimochodem, zpočátku byla myšlenka shromažďování hodnocení trochu jiná - abychom viděli, jaká hodnocení uživatelé dávají. Můžete se například podívat na YouTube – i to nejideálnější video, i video, které nenese žádnou subjektivní informaci, čistě pro referenci nebo pro tiskovou zprávu, stále získává určitý počet mínusů. Hypotéza byla, že existují uživatelé, kterým čistě klinicky nevyhovuje vůbec všechno, možná se serotonin nevytváří v mozku nebo něco jiného. Možná už člověk nepotřebuje sedět na Habrého, ale léčit deprese... Ale jak se ukázalo, tady to nemůžu zkontrolovat, protože... seznam těch, kteří dali hodnocení, se v komentáři nebo článku neukládá. No, to znamená, že budeme pracovat s dostupnými daty. Výsledkem je „obrácené“ hodnocení – můžete vidět, jaká hodnocení _dostávají_ uživatelé. Což je v zásadě také zajímavé.

Zpracování

Pro začátek tradiční zřeknutí se odpovědnosti. Toto hodnocení, stejně jako všechny předchozí, je neoficiální. Nezaručuji, že jsem někde neudělal chybu. Pro zájemce o technické detaily je poskytnut podrobnější kód v předchozí části.

Pojďme tedy začít. Komentáře za letošní rok 2019 (který ještě neskončil) byly odebrány k analýze. V době psaní psali uživatelé 448533 komentář, velikost souboru csv je 288 MB. Silné, působivé.

Čas psaní

Seskupme komentáře podle hodin a rozdělme zvlášť pracovní dny a víkendy.

Habrastatistika: analýza komentářů čtenářů

Zde nás nezajímají absolutní hodnoty, ale relativní. Když se na to podíváte „tak, jak to je“, pak se to ukážeоVětšina komentářů byla napsána v pracovní době od 10 do 18 😉 Na druhou stranu se zde neberou v potaz časová pásma, takže otázka je stále otevřená.

Podívejme se na rozložení komentářů v průběhu roku:

Habrastatistika: analýza komentářů čtenářů

A přesto se otáčí ve všední dny nápor - týdenní periodicita je jasně viditelná, takže můžeme s poměrně vysokou jistotou říci, že Habrovi lidé čtou a komentují z práce (ale není to jisté).

Mimochodem, byl nápad otestovat hypotézu, zda se počet obdržených mínusů nebo plusů liší od dne nebo denní doby, ale nepodařilo se najít vztah - čas udělení hodnocení se neukládá a neexistuje přímá souvislost s časem komentáře.

Členové

Samozřejmě neznám přesný počet uživatelů na webu. Ale těch, kteří letos zanechali alespoň jeden komentář, bylo přibližně 25000 lidé.

Graf počtu zpráv zanechaných uživateli vypadá docela zajímavě:

Habrastatistika: analýza komentářů čtenářů

Zpočátku jsem tomu sám nevěřil, ale zdálo se, že to není chyba. 5 % uživatelů zanechá 60 % zpráv. 10 % - 74 % všech zpráv (z toho, připomenu, letos 450 tisíc). Většina si prostě stránky přečetla, komentáře zanechávala jen velmi zřídka nebo je neopouštěla ​​vůbec (ty samozřejmě nebyly zahrnuty v mém seznamu).

Hodnocení

Přejděme k poslední a nejzábavnější části statistik – hodnocení. Z důvodu ochrany soukromí nebudu uvádět plné přezdívky uživatelů, kdo chce, myslím, pozná se sám.

Na počet komentářů pro letošní rok jsou v top 5 VoXXXX (3377 komentářů), 0xdXXXX (3286 komentářů), strXXXX (3043 komentářů), AmXXXX (2897 komentářů) a khXXXX (2748 komentářů).

Na počet obdržených výhod, top 5 obsadili amXXXX (1395 komentářů, hodnocení +3231/-309), tvXXXX (1544 komentářů, hodnocení +3231/-97), WhuXXXX (921 komentářů, hodnocení +2288/-13), MTXXXX (1328 komentářů, +1383 /-7) a amaXXXX (736 komentářů, hodnocení +1340/-16).

Na absolutně kladné hodnocení (jednolůžkový negativně hodnocený komentář) v horní části je obsazeno Milfgard и Boomburum. Výjimečně uvádím jejich přezdívky v plném znění, myslím, že si to zaslouží.

Zajímavé jsou i nevýhody. Nejlepší podle počet nasbíraných mínusů pro letošní rok je obsazují siXX (473 plusů, 699 mínusů), khXX (1915 plusů, 573 mínusů) a nicXXXXX (456 plusů, 487 mínusů). Ale jak vidíte, tito uživatelé mají dost pozitivních komentářů. Ale podle absolutní mínus Antitopic obsahuje vladXXXX (55 komentářů, 84 mínusů, 0 plusů), ekoXXXX (77 komentářů, 92 mínusů, 1 plus) a iMXXXX (225 komentářů, 205 mínusů, 12 plusů).

Závěr

Nebyl jsem schopen spočítat všechno plánované, ale doufám, že to bylo zajímavé.

Jak vidíte, i soubor dat s tak malým počtem polí může poskytnout zajímavá data pro analýzu. Je stále co kopat, od vytváření „slovního mraku“ po analýzu textu. Pokud se objeví nějaké zajímavé výsledky, budou zveřejněny.

Zdroj: www.habr.com

Přidat komentář