Habrastatistics: analise os comentários dos leitores. Parte 2, respostas às perguntas

Oi Habr.

Na parte anterior , foram analisadas as mensagens dos usuários deste site, o que causou uma discussão bastante animada sobre o tópico de vários parâmetros (número de mensagens, classificação, “karma” etc.). Tais questões se acumularam o suficiente para fazer a segunda parte.



Aqueles que estão interessados, qual é a duração da maior discussão nos comentários deste ano, qual pode ser o "karma" máximo e mínimo para os usuários e outras estatísticas, por favor, em cat.

Coleta de dados


Para começar, tive que suplementar o analisador para coletar mais dados. As informações sobre a classificação das mensagens e a posição das mensagens no encadeamento já estão em HTML, mas para obter o "karma" do usuário, foi necessário fazer uma solicitação adicional. Obviamente, os valores foram armazenados em cache para que o mesmo usuário não solicite dados várias vezes.

O conjunto de dados atualizado agora se parece com isso (apelidos de usuário removidos):

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,
...

Dos campos adicionais, foram adicionados o campo de respostas (número de respostas), o carma do usuário, bem como classificações positivas e negativas.

A função de obter "karma" pelo apelido do usuário, por exemplo, se parece com isso:

 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 você pode ver, tudo é bem simples, sem ciência de foguetes. Também devemos agradecer aos programadores Habr pelo código HTML que é claro e conveniente para a análise.

O tamanho do arquivo CSV resultante para este 2019 foi de 334 MB. Você pode iniciar a análise. Antes de começar, lembro que todos os dados publicados são abertos e públicos, eles também são indexados pelos mecanismos de pesquisa. Não tenho informações privilegiadas, tudo é retirado das páginas deste site.

Karma


Como a parte anterior mostrou, “perguntas cármicas” são de maior interesse, então vamos começar com isso. Como você sabe, "karma" é um atributo de qualquer usuário ativo deste site, os participantes podem optar por aumentá-lo ou diminuí-lo. Sinceramente, nunca entrei em dúvida sobre como realmente funciona e quais limitações ele oferece, por isso, fornecerei os dados sem nenhum comentário especial.

No total, no site no momento da coleta da classificação, 25.109 usuários são aqueles que pelo menos uma vez deixaram pelo menos um comentário. Destes, 9973 usuários (39%) têm zero carma . 12346 usuários (49%) têm carma positivo , dos quais 5384 usuários (21%) têm carma <= 4 e > 40 = carma (esse nível permite que você participe do "programa de recompensa" e receba pagamento por artigos) tem 1.522 usuários (6 %) 2790 usuários (11%) têm carma negativo .

Graficamente, a parte principal da distribuição fica assim:



Vertical - o número de usuários com esse karma. O gráfico é cortado em cima, como usuários com zero karma máximo (9973 contra 2570 com "karma" 1). Não há tão poucos usuários "atentos", mas ainda assim o cronograma mudou para uma vantagem, e agrada. Quão alto e baixo pode ser o karma?

As 10 principais classificações de carma são 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) e DIHALT (696.1). Eu acho que eles podem ser parabenizados - bom trabalho, caras :) Se eu perdi alguém - escreva em mensagens privadas, adicionarei manualmente.

By the way, como se viu, houve um erro na minha função para calcular karmareiting - ele não processa corretamente valores maiores que 1000 (Habr adiciona um espaço ao número, eu não sabia disso), mas a situação é rara e eu não percebi imediatamente.

Eles pegam o Antitope-10 por karma ... não, provavelmente não vou dar seus apelidos para não tornar esses usuários "publicitários" interessados, podem gerar dados de uma captura de tela em um spoiler. Obviamente, o carma negativo no site apenas diz que uma pessoa expressa uma opinião impopular neste site e não diz nada sobre suas qualidades pessoais, de modo que aqueles que se enquadram no "antítopo" são convidados a não se ofender.

Antíope 10 no karma


Mensagens


Nas mensagens, você também pode encontrar muitas coisas interessantes.

As 5 principais mensagens têm 26 , 17 , 16 , 15 e 14 KB, respectivamente.

É interessante observar a distribuição em forma gráfica:



Como você pode ver, o pico cai nas mensagens com cerca de 100 caracteres.

Classificação


As mensagens com classificação mais positiva : +218 , +144 , +141 , +133 e +124 .

As mensagens com classificação mais negativa são -248 , -170 , -163 , -131 e -114 .

É interessante que a distribuição do número de mensagens de acordo com a classificação seja aproximadamente semelhante à distribuição do “karma” - existem avaliações positivas e negativas das mensagens, mas há mais avaliações “positivas”. Que, novamente, não pode deixar de se alegrar.

Discussões


A próxima pergunta interessante foi encontrar o fio mais longo entre as mensagens. Acabou sendo muito simples fazer isso - cada mensagem em HTML tem um identificador exclusivo, também há um parâmetro data-parent_id, o restante, como se costuma dizer, é uma questão técnica.

Portanto, o maior fragmento de discussão em 2019: 619 respostas , 618 respostas , 614 respostas , 556 respostas e 553 respostas . Curiosamente, 4 de 5 mensagens que causaram esses threads foram gravadas por usuários com karma menor que -20.

Agrupe os comentários de acordo com o número de respostas a eles:



Vertical - o número de postagens para este ano. A maioria dos comentários (41% ou 183000) foi deixada sem nenhuma resposta, 75 mil comentários têm 1 resposta, mais distribuição pode ser vista na figura.

Conclusão


Nisso terminarei o tópico “habrastatistics” até janeiro - no final do ano, a classificação final dos melhores artigos de 2019 será publicada, bem, pode haver outros padrões interessantes.

Espero que tenha sido interessante. Se eu esqueci alguém - escreva, corrija.

Source: https://habr.com/ru/post/pt467951/


All Articles