Habari Habr. KATIKA
Data iligeuka kuwa ya kufurahisha sana; tuliweza pia kuunda "ukadiriaji mdogo" wa watoa maoni. Inaendelea chini ya kukata.
Mkusanyiko wa data
Kwa uchanganuzi, tutatumia data ya mwaka huu, 2019, haswa kwa kuwa tayari nimepokea orodha ya nakala katika fomu ya csv. Kilichobaki ni kutoa maoni kutoka kwa kila kifungu; kwa bahati nzuri kwetu, yamehifadhiwa hapo, na hakuna maombi ya ziada yanayohitajika kufanywa.
Ili kuangazia maoni kutoka kwa nakala, nambari ifuatayo inatosha:
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)
Hii huturuhusu kupata orodha ya maoni ambayo inaonekana kama hii (majina ya utani yameondolewa kwa sababu za faragha):
xxxxxxx,2019-02-06 11:50:00,0,Π ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ?
xxxxxxx-02-24 16:15:00,+1,ΠΠΎΠ±ΠΎΠ»ΡΡΠ΅ ΡΠΈΡΠ°ΠΉΡΠ΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ ΡΡΠΎΠ±Ρ ΡΠ°ΠΊΠΈΡ
Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π½Π΅ Π±ΡΠ»ΠΎ.
xxxxxxx,2019-02-23 20:15:00,β5,Π Π½Π΅ Π²Π°ΠΆΠ½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ Π² ΠΈΡΠΎΠ³Π΅ Π² ΠΏΠ»ΡΡΠ΅ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ
Kama unavyoona, kwa kila maoni tunaweza kupata jina la mtumiaji, tarehe, ukadiriaji na maandishi halisi. Hebu tuone nini tunaweza kupata kutokana na hili.
Kwa njia, hapo awali, wazo la kukusanya makadirio lilikuwa tofauti kidogo - kuona ni makadirio gani ambayo watumiaji wanatoa. Kwa mfano, unaweza kuangalia YouTube - hata video bora zaidi, hata video ambayo haina habari yoyote ya msingi, kwa marejeleo au taarifa ya habari, bado inapata idadi fulani ya minuses. Dhana ilikuwa kwamba kuna watumiaji ambao, kwa kliniki kabisa, hawapendi kila kitu kabisa, labda serotonin haijazalishwa katika ubongo au kitu kingine. Labda mtu hahitaji tena kukaa juu ya Habre, lakini kutibu unyogovu ... Lakini kama ilivyotokea, siwezi kuangalia hii hapa, kwa sababu ... orodha ya waliotoa ukadiriaji haijahifadhiwa kwenye maoni au makala. Naam, yaani, tutafanya kazi na data zilizopo. Matokeo yake ni ukadiriaji wa "nyuma" - unaweza kuona ni ukadiriaji gani _kupokea_ na watumiaji. Ambayo, kwa kanuni, pia inavutia.
Matayarisho
Kuanza na, kanusho la jadi. Ukadiriaji huu, kama zote zilizopita, sio rasmi. Sihakikishi kwamba sikufanya makosa popote. Kwa wale wanaopenda maelezo ya kiufundi, nambari ya kina zaidi imetolewa
Basi hebu tuanze. Maoni ya mwaka huu, 2019 (ambayo bado hayajaisha), yalichukuliwa kwa uchambuzi. Wakati wa kuandika, watumiaji waliandika 448533 ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, saizi ya faili ya csv ni 288MB. Nguvu, ya kuvutia.
Muda wa kuandika
Wacha tupange maoni kwa saa, tukigawanya siku za wiki na wikendi kando.
Hapa hatuna nia ya maadili kamili, lakini kwa jamaa. Ikiwa unatazama tu "kama ilivyo", basi inageuka kuwaΠΎMaoni mengi yaliandikwa wakati wa saa za kazi kutoka 10 hadi 18 π Kwa upande mwingine, maeneo ya saa hayajazingatiwa hapa, kwa hiyo swali bado linafunguliwa.
Wacha tuangalie usambazaji wa maoni kwa mwaka mzima:
Na bado inazunguka; kuongezeka kunaonekana wazi siku za wiki - upimaji wa kila wiki unaonekana wazi, kwa hivyo tunaweza kusema kwa ujasiri mkubwa kwamba watu wanasoma na kutoa maoni juu ya Habr kutoka kazini (lakini hii sio hakika).
Kwa njia, kulikuwa na wazo la kujaribu nadharia ikiwa idadi ya minuses au pluses zilizopokelewa hutofautiana na siku au wakati wa siku, lakini haikuwezekana kupata uhusiano - wakati uliotolewa haujahifadhiwa, na. hakuna uhusiano wa moja kwa moja na wakati wa maoni.
Watumiaji
Bila shaka, sijui idadi kamili ya watumiaji kwenye tovuti. Lakini wale ambao waliacha maoni angalau mwaka huu waligeuka kuwa takriban 25000 watu.
Grafu ya idadi ya ujumbe ulioachwa na watumiaji inaonekana ya kuvutia sana:
Mwanzoni sikujiamini, lakini ilionekana kuwa hakuna makosa. 5% ya watumiaji huacha 60% ya ujumbe. 10% - 74% ya ujumbe wote (ambayo, napenda kukukumbusha, mwaka huu, 450 elfu). Wengi walisoma tu tovuti, wakiacha maoni mara chache sana, au hawakuacha kabisa (hizo, kwa kawaida, hazikujumuishwa kwenye orodha yangu).
Ratings
Wacha tuendelee hadi sehemu ya mwisho na ya kufurahisha zaidi ya takwimu - ukadiriaji. Kwa sababu za faragha, sitatoa majina ya utani kamili ya watumiaji, yeyote anayetaka, nadhani, atajitambua.
Cha idadi ya maoni kwa mwaka huu, 5 bora zimechukuliwa na VoXXXX (maoni 3377), 0xdXXXXX (maoni 3286), strXXXX (maoni 3043), AmXXXX (maoni 2897) na khXXXX (maoni 2748).
Cha idadi ya faida zilizopokelewa, 5 bora inamilikiwa na amXXXX (maoni 1395, ukadiriaji +3231/-309), tvXXXX (maoni 1544, ukadiriaji +3231/-97), WhuXXXX (maoni 921, ukadiriaji +2288/-13), MTXXXX (1328 maoni, +1383 /-7) na amaXXXX (maoni 736, alama +1340/-16).
Cha ukadiriaji chanya kabisa (hakuna mtu maoni yaliyokadiriwa vibaya) sehemu ya juu ya juu inakaliwa na
Mapungufu pia yanavutia. Juu kwa idadi ya minuses iliyokusanywa kwa mwaka huu wamechukuliwa na siXX (plus 473, minuses 699), khXX (1915 pluses, 573 minuses) na nicXXXXX (456 pluses, 487 minuses). Lakini kama unaweza kuona, watumiaji hawa wana maoni chanya ya kutosha. Lakini kulingana na minus kabisa Antitopic inajumuisha vladXXXX (maoni 55, dakika 84, pluses 0), ekoXXXX (maoni 77, dakika 92, 1 plus) na iMXXXX (maoni 225, minuses 205, pluses 12).
Hitimisho
Sikuweza kuhesabu kila kitu kilichopangwa, lakini natumaini ilikuwa ya kuvutia.
Kama unavyoona, hata seti ya data iliyo na idadi ndogo ya nyuga inaweza kutoa data ya kuvutia kwa uchanganuzi. Bado kuna mengi ya kuchimba, kutoka kwa kujenga "wingu la maneno" hadi uchambuzi wa maandishi. Ikiwa matokeo yoyote ya kuvutia yatatokea, yatachapishwa.
Chanzo: mapenzi.com