Habrastatistique: analyse des commentaires des lecteurs

Salut Habr. Dans la partie précédente , la popularité des différentes sections du site a été analysée, et en parallèle, la question s'est posée - quelles données peuvent être extraites des commentaires sur les articles. Je voulais également tester une hypothèse, dont je parlerai ci-dessous.


Les données se sont avérées assez intéressantes, nous avons également réussi à faire un petit «mini-rating» des commentateurs. Suite sous la coupe.

Collecte de données


Pour l'analyse, nous utiliserons les données pour cette année 2019, d'autant plus que la liste d'articles sous forme de csv m'a déjà été envoyée. Reste à extraire les commentaires de chaque article, heureusement pour nous, ils y sont stockés, et aucune demande supplémentaire n'est nécessaire.

Pour extraire des commentaires d'un article, le code suivant suffit:

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("\t\n\r\v\f")))
    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)

( ):

xxxxxxx,2019-02-06 11:50:00,0, ?
xxxxxxx-02-24 16:15:00,+1, .
xxxxxxx,2019-02-23 20:15:00,–5,


, , , , . , .

, , — , . , youtube — , , , . , , , -. , … , , .. , . , , . «» — , __ . , .


, disclaimer. , , . , . , , .

, . , 2019 ( ). 448533 , csv- 288. , .


, .



, . « », 10 18 ;) , , .

:



- — , , ( ).

, , , — , .


, . , , 25000 .

, , :



, . 5% 60% . 10% — 74% ( , , 450). , , ( , ).


, — . , , , .

, 5 VoXXXX (3377 ), 0xdXXXXX (3286 ), strXXXX (3043 ), AmXXXX (2897 ) khXXXX (2748 ).

, 5 amXXXX (1395 , +3231/-309), tvXXXX (1544 , +3231/-97), WhuXXXX (921 , +2288/-13), MTXXXX (1328 , +1383/-7) amaXXXX (736 , +1340/-16).

( ) Milfgard Boomburum. , , , .

. siXX (473 , 699 ), khXX (1915 , 573 ) nicXXXXX (456 , 487 ). , . «» vladXXXX (55 , 84 , 0 ), ekoXXXX (77 , 92 , 1 ) iMXXXX (225 , 205 , 12 ).


, , .

, . , « » . - , .

.

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


All Articles