Habrastatistics: analyse af læserkommentarer

Hej Habr. I forrige del Populariteten af ​​forskellige sektioner af webstedet blev analyseret, og samtidig opstod spørgsmålet - hvilke data kan udvindes fra kommentarer til artikler. Jeg ønskede også at teste en hypotese, som jeg vil diskutere nedenfor.
Habrastatistics: analyse af læserkommentarer

Dataene viste sig at være ret interessante; vi formåede også at skabe en lille "mini-rating" af kommentatorer. Fortsat under snittet.

Dataindsamling

Til analyse vil vi bruge data for dette år, 2019, især da jeg allerede har modtaget en liste over artikler i csv-form. Det eneste, der er tilbage, er at udtrække kommentarerne fra hver artikel; heldigvis for os er de gemt der, og der skal ikke foretages yderligere anmodninger.

For at fremhæve kommentarer fra en artikel er følgende kode tilstrækkelig:

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)

Dette giver os mulighed for at få en liste over kommentarer, der ser sådan ud (kaldenavne fjernet af hensyn til privatlivets fred):

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

Som du kan se, kan vi for hver kommentar få brugernavnet, datoen, vurderingen og den faktiske tekst. Lad os se, hvad vi kan få ud af dette.

Forresten, oprindeligt var ideen om at indsamle vurderinger lidt anderledes - for at se, hvilke vurderinger brugerne giver. For eksempel kan du se på YouTube - selv den mest ideelle video, selv en video, der ikke indeholder nogen subjektiv information, rent til reference eller en pressemeddelelse, får stadig et vist antal minusser. Hypotesen var, at der er brugere, der rent klinisk slet ikke kan lide alt, måske produceres serotonin ikke i hjernen eller andet. Måske behøver en person ikke længere at sidde på Habré, men for at behandle depression... Men som det viste sig, kan jeg ikke tjekke dette her, fordi... listen over dem, der har givet vurderinger, gemmes ikke i kommentaren eller artiklen. Nå, det vil sige, vi vil arbejde med de tilgængelige data. Resultatet er en "omvendt" vurdering - du kan se, hvilke vurderinger _modtager_ af brugere. Hvilket i princippet også er interessant.

Behandling

Til at begynde med en traditionel ansvarsfraskrivelse. Denne bedømmelse er, ligesom alle tidligere, uofficiel. Jeg garanterer ikke, at jeg ikke lavede en fejl nogen steder. For dem, der er interesseret i tekniske detaljer, er der givet mere detaljeret kode i forrige del.

Så lad os komme i gang. Kommentarer for dette år, 2019 (som ikke er slut endnu), blev taget til analyse. I skrivende stund skrev brugerne 448533 комментария, størrelsen på csv-filen er 288 MB. Kraftig, imponerende.

Skrivetid

Lad os gruppere kommentarer efter time, og opdele hverdage og weekender separat.

Habrastatistics: analyse af læserkommentarer

Her er vi ikke interesserede i absolutte værdier, men i relative. Hvis man bare ser på det “som det er”, så viser det sig detоDe fleste kommentarer er skrevet i arbejdstiden fra 10 til 18 😉 Til gengæld er der ikke taget højde for tidszoner her, så spørgsmålet er stadig åbent.

Lad os se på fordelingen af ​​kommentarer i løbet af året:

Habrastatistics: analyse af læserkommentarer

Og alligevel roterer den; en stigning er tydeligt synlig på hverdage - den ugentlige periodicitet er tydeligt synlig, så vi kan med ret stor sikkerhed sige, at folk læser og kommenterer Habr fra arbejde (men det er ikke sikkert).

I øvrigt var der en idé om at teste hypotesen om antallet af modtagede minusser eller plusser afviger fra dagen eller tidspunktet på dagen, men det var ikke muligt at finde en sammenhæng - tidspunktet for vurderingen er ikke gemt, og der er ingen direkte sammenhæng med tidspunktet for kommentaren.

Medlemmer

Jeg kender selvfølgelig ikke det nøjagtige antal brugere på siden. Men dem, der efterlod mindst én kommentar i år, viste sig at være ca 25000 folk.

Grafen over antallet af beskeder efterladt af brugere ser ret interessant ud:

Habrastatistics: analyse af læserkommentarer

Først troede jeg ikke på det selv, men der var vist ingen fejl. 5 % af brugerne efterlader 60 % af beskederne. 10% - 74% af alle beskeder (hvoraf, lad mig minde dig om, i år 450 tusind). De fleste læser simpelthen siden, efterlader meget sjældent kommentarer eller forlader dem slet ikke (de var naturligvis ikke inkluderet på min liste).

Ratings

Lad os gå videre til den sidste og sjoveste del af statistikken – vurderinger. Af hensyn til privatlivets fred vil jeg ikke give brugernes fulde øgenavne, den der vil, tror jeg, vil genkende sig selv.

On antal kommentarer for i år er top 5 besat af VoXXXX (3377 kommentarer), 0xdXXXXX (3286 kommentarer), strXXXX (3043 kommentarer), AmXXXX (2897 kommentarer) og khXXXX (2748 kommentarer).

On antal modtagne ydelser, top 5 er besat af amXXXX (1395 kommentarer, vurderinger +3231/-309), tvXXXX (1544 kommentarer, vurderinger +3231/-97), WhuXXXX (921 kommentarer, vurderinger +2288/-13), MTXXXX (1328 kommentarer, +1383 /-7) og amaXXXX (736 kommentarer, vurdering +1340/-16).

On absolut positiv vurdering (ingen negativt vurderet kommentar) toppen af ​​toppen er optaget af Milfgård и Boomburum. Som en undtagelse præsenterer jeg deres kælenavne fuldt ud, det synes jeg de fortjener.

Ulemperne er også interessante. Øverst ved antal indsamlede minusser for i år er de besat af siXX (473 plusser, 699 minusser), khXX (1915 plusser, 573 minusser) og nicXXXXX (456 plusser, 487 minusser). Men som du kan se, har disse brugere nok positive kommentarer. Men iflg absolut minus Antitopic inkluderer vladXXXX (55 kommentarer, 84 minusser, 0 plusser), ekoXXXX (77 kommentarer, 92 minusser, 1 plus) og iMXXXX (225 kommentarer, 205 minusser, 12 plusser).

Konklusion

Jeg var ikke i stand til at beregne alt det planlagte, men jeg håber, det var interessant.

Som du kan se, kan selv et datasæt med et så lille antal felter give interessante data til analyse. Der er stadig meget at grave i, lige fra at bygge en "ordsky" til tekstanalyse. Hvis der dukker nogle interessante resultater op, vil de blive offentliggjort.

Kilde: www.habr.com

Tilføj en kommentar