Habrastatistics: análise dos comentarios dos lectores

Ola Habr. EN parte anterior Analizouse a popularidade de varias seccións do sitio e, ao mesmo tempo, xurdiu a pregunta: que datos se poden extraer dos comentarios dos artigos. Tamén quería probar unha hipótese, que comentarei a continuación.
Habrastatistics: análise dos comentarios dos lectores

Os datos resultaron bastante interesantes; tamén conseguimos crear unha pequena "mini-valoración" dos comentaristas. Continuou baixo o corte.

Recollida de datos

Para a análise, utilizaremos os datos deste ano 2019, sobre todo porque xa recibín unha lista de artigos en formato csv. Só queda extraer os comentarios de cada artigo; afortunadamente para nós, gárdanse alí e non hai que facer solicitudes adicionais.

Para destacar os comentarios dun artigo, é suficiente o seguinte código:

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)

Isto permítenos obter unha lista de comentarios que se parecen a isto (elimináronse os alcumes por motivos de privacidade):

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

Como podes ver, para cada comentario podemos obter o nome de usuario, a data, a valoración e o texto real. A ver que podemos sacar disto.

Por certo, inicialmente, a idea de recoller valoracións era un pouco diferente: ver que valoracións dan os usuarios. Por exemplo, podes mirar YouTube: ata o vídeo máis ideal, incluso un vídeo que non contén información subxectiva, meramente como referencia ou un comunicado de prensa, aínda gaña un certo número de inconvenientes. A hipótese era que hai usuarios aos que, puramente clinicamente, non lles gusta nada, quizais non se produza serotonina no cerebro ou outra cousa. Quizais unha persoa xa non necesite sentarse no Habré, senón tratar a depresión... Pero como resultou, non podo comprobar isto aquí, porque... a lista dos que deron valoracións non se garda no comentario ou artigo. Ben, é dicir, traballaremos cos datos dispoñibles. O resultado é unha valoración "inversa": podes ver as valoracións que _reciben_ os usuarios. O que, en principio, tamén é interesante.

Procesamento

Para comezar, unha exención de responsabilidade tradicional. Esta clasificación, como todas as anteriores, non é oficial. Non garante que non cometín un erro en ningún lado. Para aqueles interesados ​​en detalles técnicos, ofrécese un código máis detallado na parte anterior.

Entón, imos comezar. Os comentarios deste ano, 2019 (que aínda non rematou), foron tomados para análise. No momento de escribir este artigo, os usuarios escribiron 448533 комментария, o tamaño do ficheiro csv é 288 MB. Poderoso, impresionante.

Hora de escribir

Agrupemos os comentarios por hora, dividindo os días laborables e os fins de semana por separado.

Habrastatistics: análise dos comentarios dos lectores

Aquí non nos interesan os valores absolutos, senón os relativos. Se só o miras "tal como está", entón resulta queоA maioría dos comentarios foron escritos en horario laboral de 10 a 18 😉 Por outra banda, aquí non se teñen en conta os fusos horarios, polo que a pregunta segue aberta.

Vexamos a distribución dos comentarios ao longo do ano:

Habrastatistics: análise dos comentarios dos lectores

E aínda así, xira; un aumento é claramente visible nos días laborables; a periodicidade semanal é claramente visible, polo que podemos dicir con bastante confianza que a xente está lendo e comentando Habr desde o traballo (pero isto non é certo).

Por certo, houbo unha idea para probar a hipótese se o número de desvantaxes ou vantaxes recibidas difire do día ou da hora do día, pero non foi posible atopar unha relación: a hora en que se deu a clasificación non se garda e non hai conexión directa coa hora do comentario.

Membros

Por suposto, non sei o número exacto de usuarios no sitio. Pero os que deixaron polo menos un comentario este ano resultaron ser aproximadamente Persoas 25000.

A gráfica do número de mensaxes deixadas polos usuarios parece bastante interesante:

Habrastatistics: análise dos comentarios dos lectores

Ao principio non o cría eu, pero parecía que non había ningún erro. O 5% dos usuarios deixa o 60% das mensaxes. 10% - 74% de todas as mensaxes (das cales, permíteme lembrarche, este ano, 450 mil). A maioría simplemente le o sitio, deixando comentarios moi poucas veces, ou non deixalos en absoluto (eses, naturalmente, non estaban incluídos na miña lista).

Puntuacións

Pasemos á última e máis divertida parte das estatísticas: as valoracións. Por cuestións de privacidade, non vou dar os alcumes completos dos usuarios, quen queira, creo, recoñecerase.

En número de comentarios para este ano, os 5 primeiros están ocupados por VoXXXX (3377 comentarios), 0xdXXXX (3286 comentarios), strXXXX (3043 comentarios), AmXXXX (2897 comentarios) e khXXXX (2748 comentarios).

En número de beneficios recibidos, os 5 primeiros están ocupados por amXXXX (1395 comentarios, valoracións +3231/-309), tvXXXX (1544 comentarios, valoracións +3231/-97), WhuXXXX (921 comentarios, valoracións +2288/-13), MTXXXX (1328 comentarios, +1383 /-7) e amaXXXX (736 comentarios, valoración +1340/-16).

En valoración positiva absoluta (nin un só comentario valorado negativamente) a parte superior da parte superior está ocupada por Milfgard и Boomburum. Como excepción, presento os seus alcumes íntegros, creo que o merecen.

As desvantaxes tamén son interesantes. Arriba por número de desvantaxes recollidas para este ano están ocupados por siXX (473 plus, 699 menos), khXX (1915 plus, 573 menos) e nicXXXXX (456 plus, 487 menos). Pero como podes ver, estes usuarios teñen bastantes comentarios positivos. Pero segundo menos absoluto O antitópico inclúe vladXXXX (55 comentarios, 84 menos, 0 plus), ekoXXXX (77 comentarios, 92 menos, 1 máis) e iMXXXX (225 comentarios, 205 menos, 12 plus).

Conclusión

Non puiden calcular todo o previsto, pero espero que fose interesante.

Como podes ver, mesmo un conxunto de datos cun número tan pequeno de campos pode proporcionar datos interesantes para a análise. Aínda queda moito por investigar, desde a construción dunha "nube de palabras" ata a análise de textos. Se aparecen resultados interesantes, publicaranse.

Fonte: www.habr.com

Engadir un comentario