Habrastatistika: skaitytojų komentarų analizė

Sveiki, Habr. IN ankstesnė dalis Buvo analizuojamas įvairių svetainės skilčių populiarumas, o kartu kilo klausimas – kokius duomenis galima išgauti iš straipsnių komentarų. Taip pat norėjau patikrinti vieną hipotezę, kurią aptarsiu toliau.
Habrastatistika: skaitytojų komentarų analizė

Duomenys pasirodė gana įdomūs, taip pat pavyko sukurti nedidelį komentatorių „mini reitingą“. Tęsinys po pjūviu.

Duomenų rinkimas

Analizei naudosime šių 2019 metų duomenis, juolab kad jau gavau straipsnių sąrašą csv formatu. Belieka ištraukti komentarus iš kiekvieno straipsnio, mūsų laimei, jie ten saugomi ir nereikia pateikti jokių papildomų prašymų.

Norint paryškinti straipsnio komentarus, pakanka šio kodo:

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)

Tai leidžia mums gauti maždaug taip atrodančių komentarų sąrašą (slapyvardžiai pašalinti dėl privatumo):

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

Kaip matote, kiekvienam komentarui galime gauti vartotojo vardą, datą, įvertinimą ir tikrąjį tekstą. Pažiūrėkime, ką iš to galime gauti.

Beje, iš pradžių reitingų rinkimo idėja buvo kiek kitokia – pažiūrėti, kokius reitingus suteikia vartotojai. Pavyzdžiui, galite pažvelgti į „YouTube“ – net ir pats idealiausias vaizdo įrašas, net ir vaizdo įrašas, kuriame nėra jokios subjektyvios informacijos, vien tik nuoroda ar spaudai, vis tiek įgauna tam tikrą skaičių minusų. Buvo iškelta hipotezė, kad yra vartotojų, kuriems grynai kliniškai viskas nepatinka, gal smegenyse nesigamina serotoninas ar dar kažkas. Galbūt žmogui nebereikia sėdėti ant Habré, o gydyti depresiją... Bet kaip paaiškėjo, aš negaliu čia patikrinti, nes... įvertinusiųjų sąrašas nei komentare, nei straipsnyje neišsaugomas. Na, tai yra, dirbsime su turimais duomenimis. Rezultatas yra „atvirkštinis“ įvertinimas – galite pamatyti, kokius įvertinimus _gauna_ vartotojai. Kas iš principo irgi įdomu.

apdorojimas

Pirmiausia – tradicinis atsakomybės atsisakymas. Šis įvertinimas, kaip ir visi ankstesni, yra neoficialus. Negarantuoju, kad niekur nesuklydau. Besidomintiems techninėmis detalėmis pateikiamas išsamesnis kodas ankstesnėje dalyje.

Taigi pradėkime. Šių, 2019 metų (kurie dar nesibaigė) komentarai buvo paimti analizei. Rašymo metu vartotojai rašė 448533 комментария, csv failo dydis yra 288 MB. Galingas, įspūdingas.

Rašymo laikas

Komentarus sugrupuokime pagal valandas, atskirdami darbo dienas ir savaitgalius atskirai.

Habrastatistika: skaitytojų komentarų analizė

Čia mus domina ne absoliučios vertybės, o santykinės. Jei tik atrodysite „kaip yra“, paaiškės, kad taipоDauguma komentarų buvo rašomi darbo valandomis nuo 10 iki 18 😉 Kita vertus, čia neatsižvelgiama į laiko juostas, tad klausimas vis dar atviras.

Pažvelkime į komentarų pasiskirstymą per metus:

Habrastatistika: skaitytojų komentarų analizė

Ir vis dėlto jis sukasi aiškiai matomas darbo dienomis - savaitinis periodiškumas yra aiškiai matomas, todėl galime gana užtikrintai pasakyti, kad žmonės skaito ir komentuoja Habrą iš darbo (bet tai nėra tikras).

Beje, buvo mintis patikrinti hipotezę, ar gautų minusų ar pliusų skaičius skiriasi nuo dienos ar paros meto, tačiau ryšio rasti nepavyko - įvertinimo laikas neišsaugomas, o tiesioginio ryšio su komentaro laiku nėra.

Nariai

Žinoma, aš nežinau tikslaus svetainės vartotojų skaičiaus. Tačiau šiais metais palikusių bent vieną komentarą pasirodė apytiksliai 25000 žmonės.

Gan įdomiai atrodo vartotojų paliktų pranešimų skaičiaus grafikas:

Habrastatistika: skaitytojų komentarų analizė

Iš pradžių pati netikėjau, bet atrodė, kad nebuvo jokios klaidos. 5% vartotojų palieka 60% pranešimų. 10% - 74% visų žinučių (iš jų, priminsiu, šiemet 450 tūkst.). Dauguma tiesiog skaito svetainę, komentuoja labai retai arba visai nepalieka (tie, žinoma, nebuvo įtraukti į mano sąrašą).

Reitingai

Pereikime prie paskutinės ir smagiausios statistikos dalies – reitingų. Privatumo sumetimais nesuteiksiu pilnų vartotojų slapyvardžių, kas norės, manau, atpažins save.

Apie komentarų skaičius šiemet geriausiųjų penketuką užima VoXXXX (5 komentarai), 3377xdXXXXX (0 komentarai), strXXXX (3286 komentarai), AmXXXX (3043 komentarai) ir khXXXX (2897 komentarai).

Apie gautų išmokų skaičius, top 5 užima amXXXX (1395 komentarai, įvertinimai +3231/-309), tvXXXX (1544 komentarai, įvertinimai +3231/-97), WhuXXXX (921 komentarai, įvertinimai +2288/-13), MTXXXX (1328 komentarai, +1383 /-7) ir amaXXXX (736 komentarai, įvertinimas +1340/-16).

Apie absoliučiai teigiamas įvertinimas (ne vienas neigiamai įvertintas komentaras) viršūnę užima Milfgardas и Boomburum. Išimties tvarka pristatau jų slapyvardžius pilnai, manau, jie to nusipelnė.

Įdomūs ir minusai. Į viršų surinktų minusų skaičius šiemet juos užima siXX (473 pliusai, 699 minusai), khXX (1915 pliusai, 573 minusai) ir nicXXXXX (456 pliusai, 487 minusai). Tačiau, kaip matote, šie vartotojai turi pakankamai teigiamų komentarų. Tačiau pagal absoliutus minusas Antitopija apima vladXXXX (55 komentarai, 84 minusai, 0 pliusų), ekoXXXX (77 komentarai, 92 minusai, 1 pliusas) ir iMXXXX (225 komentarai, 205 minusai, 12 pliusų).

išvada

Nesugebėjau visko suplanuotai suskaičiuoti, bet tikiuosi, kad buvo įdomu.

Kaip matote, net duomenų rinkinys su tokiu mažu laukų skaičiumi gali pateikti įdomių duomenų analizei. Dar reikia daug ką gilintis – nuo ​​„žodžių debesies“ kūrimo iki teksto analizės. Jei bus įdomių rezultatų, jie bus paskelbti.

Šaltinis: www.habr.com

Добавить комментарий