Habrastatistika: oxucu şərhlərinin təhlili

Salam Habr. IN əvvəlki hissə Saytın müxtəlif bölmələrinin populyarlığı təhlil edildi və eyni zamanda sual yarandı - məqalələrə şərhlərdən hansı məlumatları çıxarmaq olar. Mən də aşağıda müzakirə edəcəyim bir fərziyyəni yoxlamaq istədim.
Habrastatistika: oxucu şərhlərinin təhlili

Məlumatlar olduqca maraqlı oldu, biz də şərhçilərin kiçik bir "mini-reytinqi" yarada bildik. Kəsmə altında davam etdi.

Məlumatların toplanması

Təhlil üçün bu il, 2019-cu il üçün məlumatlardan istifadə edəcəyik, xüsusən də csv şəklində məqalələrin siyahısını artıq aldığım üçün. Qalan hər bir məqalədən şərhləri çıxarmaqdır; xoşbəxtlikdən bizim üçün onlar orada saxlanılır və əlavə sorğuların edilməsinə ehtiyac yoxdur.

Məqalədəki şərhləri vurğulamaq üçün aşağıdakı kod kifayətdir:

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)

Bu, bizə bu kimi görünən şərhlərin siyahısını əldə etməyə imkan verir (məxfilik səbəbi ilə ləqəblər silindi):

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

Gördüyünüz kimi, hər şərh üçün istifadəçi adı, tarixi, reytinqi və faktiki mətni əldə edə bilərik. Gəlin görək bundan nə əldə edə bilərik.

Yeri gəlmişkən, əvvəlcə reytinq toplamaq ideyası bir az fərqli idi - istifadəçilərin hansı reytinqlər verdiyini görmək. Məsələn, YouTube-a baxa bilərsiniz - hətta ən ideal video, hətta heç bir subyektiv məlumat daşımayan, sırf istinad və ya xəbər üçün bir video belə hələ də müəyyən sayda mənfi cəhətlər qazanır. Fərziyyə ondan ibarət idi ki, sırf klinik olaraq hər şeyi sevməyən istifadəçilər var, ola bilsin ki, serotonin beyində və ya başqa bir şeydə istehsal olunmur. Ola bilsin ki, insana artıq Habré üzərində oturmaq lazım deyil, depressiyanı müalicə etmək lazımdır... Amma məlum oldu ki, mən bunu burada yoxlaya bilmirəm, çünki... reytinq verənlərin siyahısı şərh və ya məqalədə saxlanmır. Yaxşı, yəni mövcud məlumatlarla işləyəcəyik. Nəticə "əks" reytinqdir - istifadəçilər tərəfindən hansı reytinqləri _aldığını görə bilərsiniz. Hansı ki, prinsipcə, həm də maraqlıdır.

Emal

Başlamaq üçün ənənəvi imtina. Bu reytinq, bütün əvvəlkilər kimi, qeyri-rəsmidir. Heç bir yerdə səhv etmədiyimə zəmanət vermirəm. Texniki detallarla maraqlananlar üçün daha ətraflı kod təqdim olunur əvvəlki hissədə.

Beləliklə, başlayaq. Bu il, 2019 (hələ bitməmiş) üçün şərhlər təhlil üçün götürüldü. Yazı zamanı istifadəçilər yazıblar 448533 комментария, csv faylının ölçüsüdür 288 MB. Güclü, təsir edici.

Yazma vaxtı

Həftə içi və həftə sonlarını ayrı-ayrılıqda bölərək şərhləri saata görə qruplaşdıraq.

Habrastatistika: oxucu şərhlərinin təhlili

Burada bizi mütləq dəyərlər deyil, nisbi dəyərlər maraqlandırır. Sadəcə “olduğu kimi” baxsanız, belə çıxırоŞərhlərin çoxu iş vaxtı 10-dan 18-ə kimi yazılıb 😉 Digər tərəfdən burada saat qurşaqları nəzərə alınmadığı üçün sual hələ də açıqdır.

Şərhlərin il ərzində paylanmasına nəzər salaq:

Habrastatistika: oxucu şərhlərinin təhlili

Və yenə də fırlanır; iş günlərində artım aydın görünür - həftəlik dövrilik aydın görünür, buna görə də kifayət qədər yüksək əminliklə deyə bilərik ki, insanlar Habr-ı işdən oxuyur və şərh edir (lakin bu dəqiq deyil).

Yeri gəlmişkən, alınan mənfi və ya müsbətlərin sayının günün və ya günün vaxtından fərqli olub-olmaması ilə bağlı fərziyyəni yoxlamaq üçün bir fikir var idi, lakin əlaqə tapmaq mümkün olmadı - reytinqin verildiyi vaxt saxlanmır və şərhin vaxtı ilə birbaşa əlaqəsi yoxdur.

İstifadəçi

Təbii ki, saytdakı istifadəçilərin dəqiq sayını bilmirəm. Ancaq bu il ən azı bir şərh yazanların təxminən olduğu ortaya çıxdı 25000 insanların.

İstifadəçilər tərəfindən buraxılan mesajların sayının qrafiki olduqca maraqlı görünür:

Habrastatistika: oxucu şərhlərinin təhlili

Əvvəlcə özüm buna inanmadım, amma deyəsən səhv yoxdu. İstifadəçilərin 5%-i mesajların 60%-ni tərk edir. Bütün mesajların 10% - 74% -i (onlardan sizə xatırlatmaq istəyirəm, bu il 450 min). Əksəriyyət sadəcə olaraq saytı oxuyur, çox nadir hallarda şərh qoyur və ya heç buraxmır (təbii ki, bunlar mənim siyahıma daxil deyildi).

Ratings

Statistikanın sonuncu və ən əyləncəli hissəsinə - reytinqlərə keçək. Gizlilik səbəbindən istifadəçilərin tam niklərini verməyəcəyəm, kim istəsə, məncə, özlərini tanıyacaqlar.

Haqqında şərhlərin sayı bu il üçün ilk 5-liyi VoXXXX (3377 şərh), 0xdXXXXX (3286 şərh), strXXXX (3043 şərh), AmXXXX (2897 şərh) və khXXXX (2748 şərh) tutur.

Haqqında alınan müavinətlərin sayı, ilk 5-liyi amXXXX (1395 şərh, reytinq +3231/-309), tvXXXX (1544 şərh, reytinq +3231/-97), WhuXXXX (921 şərh, reytinq +2288/-13), MTXXXX (1328 şərh, +1383 /-7) və amaXXXX (736 şərh, reytinq +1340/-16).

Haqqında mütləq müsbət reytinq (heç kim mənfi qiymətləndirilən şərh) yuxarının üstü tərəfindən işğal edilir Milfgard и Boomburum. İstisna olaraq onların ləqəblərini tam təqdim edirəm, məncə buna layiqdirlər.

Mənfi cəhətləri də maraqlıdır. Ən çox toplanan minusların sayı bu il onları siXX (473 müsbət, 699 minus), khXX (1915 müsbət, 573 minus) və nicXXXXX (456 müsbət, 487 minus) tutur. Amma gördüyünüz kimi, bu istifadəçilərin kifayət qədər müsbət rəyləri var. Amma görə mütləq mənfi Antitopa vladXXXX (55 şərh, 84 minus, 0 müsbət), ekoXXXX (77 şərh, 92 minus, 1 plus) və iMXXXX (225 şərh, 205 minus, 12 müsbət) daxildir.

Nəticə

Planlaşdırılan hər şeyi hesablaya bilmədim, amma ümid edirəm maraqlı oldu.

Gördüyünüz kimi, belə az sayda sahəyə malik verilənlər toplusu belə təhlil üçün maraqlı məlumatlar verə bilər. “Söz buludu” yaratmaqdan tutmuş mətn təhlilinə qədər hələ də qazılmalı çox şey var. Hər hansı maraqlı nəticələr ortaya çıxsa, dərc olunacaq.

Mənbə: www.habr.com

Добавить комментарий