Habrastatistics: itupalẹ awọn asọye oluka

Hello Habr. IN ti tẹlẹ apakan Gbaye-gbale ti ọpọlọpọ awọn apakan ti aaye naa ni a ṣe atupale, ati ni akoko kanna ibeere naa dide - kini data le fa jade lati awọn asọye lori awọn nkan. Mo tun fẹ lati ṣe idanwo idawọle kan, eyiti Emi yoo jiroro ni isalẹ.
Habrastatistics: itupalẹ awọn asọye oluka

Awọn data wa ni jade lati wa ni oyimbo awon; Tesiwaju labẹ gige.

Gbigba data

Fun itupalẹ, a yoo lo data fun ọdun yii, 2019, paapaa niwon Mo ti gba atokọ ti awọn nkan tẹlẹ ni fọọmu csv. Gbogbo ohun ti o ku ni lati yọkuro awọn asọye lati inu nkan kọọkan;

Lati ṣe afihan awọn asọye lati nkan kan, koodu atẹle ti to:

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)

Eyi n gba wa laaye lati gba atokọ ti awọn asọye ti o dabi iru eyi (awọn orukọ apeso kuro fun awọn idi ikọkọ):

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

Bi o ti le rii, fun asọye kọọkan a le gba orukọ olumulo, ọjọ, oṣuwọn, ati ọrọ gangan. Jẹ ká wo ohun ti a le gba lati yi.

Nipa ọna, ni ibẹrẹ, imọran ti ikojọpọ awọn iwọn-wonsi jẹ iyatọ diẹ - lati wo kini awọn idiyele ti awọn olumulo fun. Fun apẹẹrẹ, o le wo YouTube - paapaa fidio ti o dara julọ, paapaa fidio ti ko gbe alaye ti ara ẹni eyikeyi, odasaka fun itọkasi tabi itusilẹ iroyin, tun gba nọmba kan ti awọn iyokuro. Idaniloju ni pe awọn olumulo wa ti, ni ile-iwosan odasaka, ko fẹran ohun gbogbo rara, boya serotonin ko ni iṣelọpọ ninu ọpọlọ tabi nkan miiran. Boya eniyan ko nilo lati joko lori Habré mọ, ṣugbọn lati ṣe itọju ibanujẹ ... Ṣugbọn bi o ti yipada, Emi ko le ṣayẹwo eyi nibi, nitori ... atokọ ti awọn ti o fun awọn idiyele ko ni fipamọ ni asọye tabi nkan naa. O dara, iyẹn ni, a yoo ṣiṣẹ pẹlu data ti o wa. Abajade jẹ igbelewọn “iyipada” - o le rii kini awọn idiyele _receive_ nipasẹ awọn olumulo. Ewo, ni opo, tun jẹ iyanilenu.

Itọju

Lati bẹrẹ pẹlu, a ibile disclaimer. Iwọn yii, bii gbogbo awọn ti tẹlẹ, jẹ laigba aṣẹ. Emi ko ṣe ẹri pe Emi ko ṣe aṣiṣe nibikibi. Fun awọn ti o nifẹ si awọn alaye imọ-ẹrọ, koodu alaye diẹ sii ti pese ni išaaju apakan.

Nitorinaa jẹ ki a bẹrẹ. Awọn asọye fun ọdun yii, 2019 (eyiti ko pari sibẹsibẹ), ni a mu fun itupalẹ. Ni akoko kikọ, awọn olumulo kowe Awọn ọrọ 448533, iwọn faili csv jẹ 288MB. Alagbara, iwunilori.

Akoko kikọ

Jẹ ki a ṣe akojọpọ awọn asọye nipasẹ wakati, pinpin awọn ọjọ ọsẹ ati awọn ipari ose lọtọ.

Habrastatistics: itupalẹ awọn asọye oluka

Nibi a ko nifẹ si awọn iye pipe, ṣugbọn ni awọn ibatan. Ti o ba kan wo o “bi o ti jẹ”, lẹhinna o wa ni peоPupọ julọ awọn asọye ni a kọ lakoko awọn wakati iṣẹ lati 10 si 18 😉 Ni apa keji, awọn agbegbe akoko ko ṣe akiyesi nibi, nitorinaa ibeere naa ṣi ṣii.

Jẹ ki a wo pinpin awọn asọye jakejado ọdun:

Habrastatistics: itupalẹ awọn asọye oluka

Ati pe sibẹsibẹ o yiyi; iṣẹ abẹ kan han kedere ni awọn ọjọ ọsẹ - akoko ọsẹ kan han kedere, nitorinaa a le sọ pẹlu igboya giga pe eniyan n ka ati asọye lori Habr lati iṣẹ (ṣugbọn eyi ko daju).

Nipa ona, nibẹ je ohun agutan lati se idanwo awọn ilewq boya awọn nọmba ti minuses tabi pluses gba yato lati awọn ọjọ tabi akoko ti ọjọ, sugbon o je ko ṣee ṣe lati ri a ibasepo - awọn akoko awọn Rating ti a fun ni ko ti o ti fipamọ, ati ko si taara asopọ pẹlu awọn akoko ti awọn ọrọìwòye.

users

Nitoribẹẹ, Emi ko mọ nọmba gangan ti awọn olumulo lori aaye naa. Ṣugbọn awọn ti o lọ silẹ o kere ju asọye kan ni ọdun yii wa ni isunmọ 25000 eniyan.

Iyara ti nọmba awọn ifiranṣẹ ti o fi silẹ nipasẹ awọn olumulo dabi ohun ti o dun pupọ:

Habrastatistics: itupalẹ awọn asọye oluka

Ni akọkọ Emi ko gbagbọ funrararẹ, ṣugbọn o dabi pe ko si aṣiṣe. 5% ti awọn olumulo fi 60% ti awọn ifiranṣẹ silẹ. 10% - 74% ti gbogbo awọn ifiranṣẹ (eyi ti, jẹ ki mi leti o, odun yi, 450 ẹgbẹrun). Pupọ julọ ka aaye naa nirọrun, fifi awọn asọye silẹ ṣọwọn, tabi ko fi wọn silẹ rara (awọn, nipa ti ara, ko wa ninu atokọ mi).

Awọn igbelewọn

Jẹ ki a lọ si apakan ti o kẹhin ati igbadun julọ ti awọn iṣiro - awọn idiyele. Fun awọn idi ti asiri, Emi kii yoo fun ni kikun awọn orukọ apeso ti awọn olumulo;

Nipa nọmba ti comments fun odun yi, awọn oke 5 ti wa ni tẹdo nipasẹ VoXXXX (3377 comments), 0xdXXXX (3286 comments), strXXXX (3043 comments), AmXXXX (2897 comments) ati khXXXX (2748 comments).

Nipa nọmba ti anfani gba, oke 5 ti wa ni tẹdo nipasẹ amXXXX (1395 comments,-wonsi +3231/-309), tvXXXX (1544 comments, iwontun-wonsi +3231/-97), WhuXXXX (921 comments, iwontun-wonsi +2288/-13), MTXXXX (1328 comments, +1383 /-7) ati amaXXXX (awọn asọye 736, idiyele +1340/-16).

Nipa idi rere Rating (ko si eniyan kankan odi won won ọrọìwòye) awọn oke ti awọn oke ti wa ni tẹdo nipa Milfgard и Boomburum. Gẹgẹbi imukuro, Mo ṣafihan awọn orukọ apeso wọn ni kikun, Mo ro pe wọn yẹ.

Awọn downsides jẹ tun awon. Top nipa nọmba ti minuses gbà fun odun yi ti wa ni tẹdo nipasẹ siXX (473 pluses, 699 minuses), khXX (1915 pluses, 573 minuses) ati nicXXXXX (456 pluses, 487 minuses). Ṣugbọn bi o ti le rii, awọn olumulo wọnyi ni awọn asọye rere to. Ṣugbọn gẹgẹ bi iyokuro patapata Ipilẹ-ọrọ pẹlu vladXXXX (awọn asọye 55, awọn iyokuro 84, awọn afikun 0), ekoXXXX (awọn asọye 77, awọn iyokuro 92, 1 pẹlu) ati iMXXXX (awọn asọye 225, awọn iyokuro 205, awọn afikun 12).

ipari

Emi ko ni anfani lati ṣe iṣiro ohun gbogbo ti a gbero, ṣugbọn Mo nireti pe o nifẹ.

Bii o ti le rii, paapaa dataset pẹlu iru nọmba kekere ti awọn aaye le pese data ti o nifẹ fun itupalẹ. Pupọ tun wa lati ma wà sinu, lati kikọ “awọsanma ọrọ” si itupalẹ ọrọ. Ti awọn abajade abayọ eyikeyi ba farahan, wọn yoo ṣe atẹjade.

orisun: www.habr.com

Fi ọrọìwòye kun