Mhoro Habr. IN
Iyo data yakazove inonakidza; isu takakwanisawo kugadzira diki "mini-rating" yevatsinhanisi. Kuenderera mberi pasi pekucheka.
Data collection
Kuongorora, isu tichashandisa data regore rino, 2019, kunyanya sezvo ini ndatowana rondedzero yezvinyorwa mucsv fomu. Chasara kuburitsa zvirevo kubva kuchinyorwa chega chega; nerombo rakanaka kwatiri, zvakachengetwa ipapo, uye hapana zvimwe zvikumbiro zvinoda kuitwa.
Kuti ujekese mhinduro kubva kuchinyorwa, iyo inotevera kodhi yakakwana:
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)
Izvi zvinotitendera kuti tiwane runyoro rwemashoko anotaridzika seizvi (mazita emadunhurirwa akabviswa nekuda kwezvikonzero zvekuvanzika):
xxxxxxx,2019-02-06 11:50:00,0,Π ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ?
xxxxxxx-02-24 16:15:00,+1,ΠΠΎΠ±ΠΎΠ»ΡΡΠ΅ ΡΠΈΡΠ°ΠΉΡΠ΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ ΡΡΠΎΠ±Ρ ΡΠ°ΠΊΠΈΡ
Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π½Π΅ Π±ΡΠ»ΠΎ.
xxxxxxx,2019-02-23 20:15:00,β5,Π Π½Π΅ Π²Π°ΠΆΠ½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ Π² ΠΈΡΠΎΠ³Π΅ Π² ΠΏΠ»ΡΡΠ΅ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ
Sezvauri kuona, kune yega yega mhinduro tinogona kuwana zita remushandisi, zuva, chiyero, uye iwo chaiwo mavara. Ngationei kuti tingawanei kubva pane izvi.
Nenzira, pakutanga, pfungwa yekuunganidza ratings yakanga yakasiyana zvishoma - kuona izvo ratings vashandisi vanopa. Semuenzaniso, unogona kutarisa paYouTube - kunyangwe iyo yakanyanya kunaka vhidhiyo, kunyangwe vhidhiyo isingatakure chero ruzivo rwekuzvimiririra, kungoreva kana kuburitswa kwenhau, ichiri kuwana imwe nhamba yemaminuses. Iyo fungidziro yaive yekuti kune vashandisi avo, kuchipatara, havadi zvese zvachose, pamwe serotonin haina kugadzirwa muuropi kana chimwe chinhu. Zvichida munhu haachadi kugara paHabrΓ©, asi kurapa kuora mwoyo ... Asi sezvazvakazoitika, ini handigoni kutarisa izvi pano, nokuti ... runyorwa rweavo vakapa ratings haruna kuchengetwa mumhinduro kana chinyorwa. Zvakanaka, ndiko kuti, tichashanda nedata iripo. Mhedzisiro ndeye "reverse" chiyero - unogona kuona kuti ndeapi ratings _receive_ nevashandisi. Izvo, mumusimboti, zvakare inonakidza.
Processing
Kutanga, chirevo chetsika. Chiyero ichi, senge ese apfuura, hachina pamutemo. Handivimbisi kuti hapana chandakanganisa. Kune avo vanofarira ruzivo rwehunyanzvi, kodhi yakadzama inopihwa
Saka ngatitangei. Mhinduro dzegore rino, 2019 (zvisati zvapera), dzakatorwa kuti dziongororwe. Panguva yekunyora, vashandisi vakanyora 448533 comments, saizi ye csv faira iri 288MB. Yakasimba, inoshamisa.
Nguva yekunyora
Ngatiunganidzei pfungwa neawa, tichigovanisa mazuva evhiki nekupera kwevhiki zvakasiyana.
Pano hatisi kufarira tsika dzakakwana, asi kune dzimwe hama. Kana iwe ukangotarisa "sezvazviri", zvino zvinozoitikaΠΎMazhinji emashoko akanyorwa panguva dzekushanda kubva ku10 kusvika 18 π Ukuwo, nzvimbo dzenguva hadzina kuverengerwa pano, saka mubvunzo uchiri wakavhurika.
Ngatitarisei kugovewa kwezvirevo mukati megore rose:
Uye zvakadaro inotenderera; kuvhiyiwa kunonyatso kuoneka pamazuva evhiki - iyo yevhiki periodicity inooneka zvakajeka, saka tinogona kutaura neruvimbo rwakanyanya kuti vanhu vari kuverenga nekutaura pamusoro paHabr kubva kubasa (asi izvi hazvina chokwadi).
Nenzira, pakanga paine pfungwa yekuyedza iyo hypothesis kana nhamba yemaminetsi kana pluses yakagamuchirwa inosiyana kubva pazuva kana nguva yezuva, asi zvakange zvisingagoneke kuwana hukama - nguva iyo chiyero chakapihwa haina kuchengetwa, uye hapana hukama hwakananga nenguva yekutaura.
Vashandisi
Ehe, ini handizive iyo chaiyo nhamba yevashandisi pane saiti. Asi avo vakasiya kamwechete chirevo gore rino vakave vangangoita 25000 vanhu.
Girafu yehuwandu hwemeseji yakasiiwa nevashandisi inotaridzika inonakidza:
Pakutanga handina kuzvitenda ini, asi pairatidzika kuva pasina kukanganisa. 5% yevashandisi vanosiya makumi matanhatu muzana emameseji. 10% - 74% yemashoko ose (ayo, regai ndikuyeuchidze, gore rino, 450 zviuru). Vazhinji vanongoverenga saiti, vachisiya mhinduro kashoma, kana kusavasiya zvachose (izvo, sezvazviri, hazvina kuverengerwa mune yangu runyorwa).
Kuyera
Ngatiendei kune yekupedzisira uye inonyanya kunakidza chikamu chehuwandu - ratings. Nezvikonzero zvekuvanzika, ini handisi kuzopa akazara mazita evashandisi, ani nani anoda, ndinofunga, anozozviziva.
By nhamba yemashoko kwegore rino, vashanu vepamusoro vanogarwa neVoXXXX (5 comments), 3377xdXXXXX (0 comments), strXXXX (3286 comments), AmXXXX (3043 comments) uye khXXXX (2897 comments).
By nhamba yemabhenefiti akagamuchirwa, yepamusoro 5 inogarwa na amXXXX (1395 comments, ratings +3231/-309), tvXXXX (1544 comments, ratings +3231/-97), WhuXXXX (921 comments, ratings +2288/-13), MTXXXX (1328 comments, +1383 /-7) uye amaXXXX (736 comments, rating +1340/-16).
By absolute positive rating (hapana negative rated comment) pamusoro pepamusoro panogara
Izvo zvakaderera zvinonakidza zvakare. Top by nhamba yemaminetsi akaunganidzwa yegore rino inotorwa ne siXX (473 pluses, 699 minuses), khXX (1915 pluses, 573 minuses) uye nicXXXXX (456 pluses, 487 minuses). Asi sezvauri kuona, vashandisi ava vane mhinduro dzakanaka dzakakwana. Asi maererano absolute minus Antitopic inosanganisira vladXXXX (55 comments, 84 minuses, 0 pluses), ekoXXXX (77 comments, 92 minuses, 1 plus) uye iMXXXX (225 comments, 205 minuses, 12 pluses).
mhedziso
Handina kukwanisa kuverenga zvose zvakarongwa, asi ndinovimba kuti zvainakidza.
Sezvauri kuona, kunyange dataset ine nhamba shoma yeminda inogona kupa inonakidza data yekuongorora. Pachine zvakawanda zvekuchera mazviri, kubva pakuvaka "izwi gore" kusvika pakuongorora zvinyorwa. Kana paine mhedzisiro inonakidza ikabuda, inoburitswa.
Source: www.habr.com