Hola habr
En la
parte anterior , se analizaron los mensajes de los usuarios de este sitio, lo que provocó una discusión bastante animada sobre el tema de varios parámetros (número de mensajes, calificación, "karma", etc.). Tales preguntas se han acumulado lo suficiente como para hacer la segunda parte.

Quienes estén interesados en cuál es la duración de la discusión más grande en los comentarios de este año, cuál puede ser el "karma" máximo y mínimo para los usuarios, y otras estadísticas, pido gato.
Recogida de datos
Para empezar, tuve que complementar el analizador para que recopilara más datos. La información sobre la calificación de los mensajes y la posición de los mensajes en el hilo ya está en HTML, pero para obtener el "karma" del usuario, se tuvo que hacer una solicitud adicional. Por supuesto, los valores se almacenaron en caché para que el mismo usuario no solicite datos muchas veces.
El conjunto de datos actualizado ahora se ve así (se eliminan los apodos de los usuarios):
https://habr.com/ru/post/322900/,comment_19707920,comment_19706258,UserXXXX,karma:112.2,answers:1,2019-02-04 20:26:00,rating:1,up:1,down:0, ?
https://habr.com/ru/company/mailru/blog/351212/,comment_19794710,comment_19794310,UserXXXX,karma:-10.0,answers:1,2019-02-23 18:16:00,rating:3,up:5,down:-2,
...
Desde campos adicionales, se agregaron el campo de respuestas (número de respuestas), el karma del usuario, así como las calificaciones positivas y negativas.
La función de obtener "karma" por el apodo del usuario, por ejemplo, se ve así:
def get_karma(user: str): data_html = get_as_str("https://habr.com/ru/users/%s/" % user) karma = data_html.find_between('info/help/karma/', '</a>').find_between('stacked-counter__value', '/div>').find_between('>', '<').replace(",", ".").replace('–', '-') return float(karma) if len(karma) > 0 else 0.0
Como puede ver, todo es bastante simple, no hay ciencia espacial. También debemos agradecer a los programadores de Habr por el código HTML que es claro y conveniente para el análisis.
El tamaño del archivo CSV resultante para este 2019 fue de 334 MB. Puedes comenzar el análisis. Antes de comenzar, le recuerdo que todos los datos publicados son abiertos y públicos, también son indexados por los motores de búsqueda. No tengo información privilegiada, todo está tomado de las páginas de este sitio.
Karma
Como mostró la parte anterior, las "preguntas kármicas" son de gran interés, así que comencemos con eso. Como sabe, el "karma" es un atributo de cualquier usuario activo de este sitio, los participantes pueden elegir aumentarlo o disminuirlo. Francamente, nunca hice preguntas sobre cómo funciona realmente y qué limitaciones ofrece, por lo que solo daré los datos sin ningún comentario especial.
En total, en el sitio al momento de recopilar la calificación,
25,109 usuarios son aquellos que al menos una vez dejaron al menos un comentario. De estos, 9973 usuarios (39%) tienen
cero karma . 12346 usuarios (49%) tienen
karma positivo , de los cuales 5384 usuarios (21%) tienen
karma <= 4 y
> 40 = karma (este nivel le permite participar en el "programa de recompensas" y recibir el pago por los artículos) tiene 1,522 usuarios (6 %) 2790 usuarios (11%) tienen
karma negativo .
Gráficamente, la parte principal de la distribución se ve así:

Vertical: el número de usuarios con este karma. El gráfico se recorta en la parte superior, como usuarios con cero karma máximo (9973 contra 2570 con "karma" 1). No hay tan pocos usuarios "con mentalidad", pero aún así el horario se cambia a un punto positivo, y lo complace. ¿Qué tan alto y bajo puede ser el karma?
Las 10 mejores clasificaciones de karma están ocupadas por
Zelenyikot (+1509.2),
Milfgard (+1471.0),
m1rko (+1039.5),
PatientZero (+986.0),
Boomburum (+881.9),
ValdikSS (+873.5),
alizar (+837.5),
tangro (+802.5),
lozga (+764.7) y
DIHALT (
696.1 ). Creo que pueden felicitarse: buen trabajo, muchachos :) Si extrañé a alguien, escriban mensajes privados, lo agregaré manualmente.
Por cierto, resultó que hubo un error en mi función de cálculo de karmareiting: no procesa correctamente valores superiores a 1000 (Habr agrega un espacio al número, no lo sabía), pero la situación es rara y no lo noté de inmediato.
Toman Antitope-10 por karma ... no, probablemente no voy a dar sus apodos para no hacer que tales usuarios, cualquier "publicidad", que esté interesada, pueda introducir datos de una captura de pantalla bajo un spoiler. Por supuesto, el karma negativo en el sitio solo dice que una persona expresa una opinión impopular en este sitio, y no dice nada sobre sus cualidades personales, por lo que se pide a los que caen en el "antítopo" que no se ofendan.
Mensajes
En los mensajes también puedes encontrar muchas cosas interesantes.
Los 5 mensajes principales tienen
26 ,
17 ,
16 ,
15 y
14 KB de longitud, respectivamente.
Es interesante observar la distribución en forma gráfica:

Como puede ver, el pico cae en mensajes de aproximadamente 100 caracteres.
Calificación
Los mensajes mejor
valorados :
+218 ,
+144 ,
+141 ,
+133 y
+124 .
Los mensajes con
calificaciones más
negativas son
-248 ,
-170 ,
-163 ,
-131 y
-114 .
Es interesante que la distribución de la cantidad de mensajes según la calificación sea aproximadamente similar a la distribución de "karma": hay evaluaciones positivas y negativas de los mensajes, pero hay más evaluaciones "positivas". Que de nuevo, no puede sino alegrarse.
Discusiones
La siguiente pregunta interesante fue encontrar el hilo más largo entre los mensajes. Resultó ser bastante simple hacer esto: cada mensaje en HTML tiene un identificador único, también hay un parámetro data-parent_id, el resto, como dicen, es una cuestión técnica.
Entonces, el
fragmento más largo
de discusión en 2019:
619 respuestas ,
618 respuestas ,
614 respuestas ,
556 respuestas y
553 respuestas . Curiosamente, 4 de cada 5 mensajes que causaron estos hilos fueron escritos por usuarios con karma inferior a -20.
Agrupe los comentarios según el número de respuestas a ellos:

Vertical: el número de publicaciones para este año. La mayoría de los comentarios (41% o 183000) se dejaron sin ninguna respuesta, 75 mil comentarios tienen 1 respuesta, se puede ver una distribución adicional en la imagen.
Conclusión
Sobre esto, terminaré el tema de "habrastatistics" hasta enero: al final del año se publicará la calificación final de los mejores artículos de 2019, bueno, puede haber algunos otros patrones interesantes.
Espero que haya sido interesante. Si olvidé a alguien, escribe, corrige.