Habrastatistics: dadansoddi sylwadau darllenwyr

Helo Habr. YN rhan flaenorol Dadansoddwyd poblogrwydd gwahanol rannau o'r wefan, ac ar yr un pryd cododd y cwestiwn - pa ddata y gellir ei dynnu o sylwadau ar erthyglau. Roeddwn hefyd eisiau profi un ddamcaniaeth, y byddaf yn ei thrafod isod.
Habrastatistics: dadansoddi sylwadau darllenwyr

Trodd y data yn eithaf diddorol; llwyddasom hefyd i greu β€œmini-rate” o sylwebwyr. Parhau o dan y toriad.

Casglu data

Er mwyn dadansoddi, byddwn yn defnyddio data ar gyfer eleni, 2019, yn enwedig gan fy mod eisoes wedi derbyn rhestr o erthyglau ar ffurf csv. Y cyfan sydd ar Γ΄l yw tynnu'r sylwadau o bob erthygl; yn ffodus i ni, maent yn cael eu storio yno, ac nid oes angen gwneud unrhyw geisiadau ychwanegol.

Er mwyn tynnu sylw at sylwadau o erthygl, mae'r cod canlynol yn ddigonol:

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)

Mae hyn yn ein galluogi i gael rhestr o sylwadau sy'n edrych yn debyg i hyn (llysenwau wedi'u tynnu am resymau preifatrwydd):

xxxxxxx,2019-02-06 11:50:00,0,А ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ?
xxxxxxx-02-24 16:15:00,+1,ПобольшС Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ нСзависимыС ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ источники Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°ΠΊΠΈΡ… вопросов Π½Π΅ Π±Ρ‹Π»ΠΎ.
xxxxxxx,2019-02-23 20:15:00,–5,А Π½Π΅ Π²Π°ΠΆΠ½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ Π² ΠΈΡ‚ΠΎΠ³Π΅ Π² плюсС ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ

Fel y gallwch weld, ar gyfer pob sylw gallwn gael yr enw defnyddiwr, dyddiad, sgΓ΄r, a'r testun gwirioneddol. Gawn ni weld beth allwn ni ei gael o hyn.

Gyda llaw, i ddechrau, roedd y syniad o gasglu graddfeydd ychydig yn wahanol - i weld pa sgΓ΄r y mae defnyddwyr yn ei roi. Er enghraifft, gallwch edrych ar YouTube - mae hyd yn oed y fideo mwyaf delfrydol, hyd yn oed fideo nad yw'n cynnwys unrhyw wybodaeth oddrychol, er gwybodaeth yn unig neu ddatganiad newyddion, yn dal i ennill nifer benodol o anfanteision. Y rhagdybiaeth oedd bod yna ddefnyddwyr nad ydyn nhw, yn glinigol yn unig, yn hoffi popeth o gwbl, efallai nad yw serotonin yn cael ei gynhyrchu yn yr ymennydd neu rywbeth arall. Efallai nad oes angen i berson eistedd ar HabrΓ© mwyach, ond i drin iselder... Ond fel y digwyddodd, ni allaf wirio hyn yma, oherwydd... nid yw'r rhestr o'r rhai a roddodd sgΓ΄r wedi'i chadw yn y sylw neu'r erthygl. Wel, hynny yw, byddwn yn gweithio gyda'r data sydd ar gael. Y canlyniad yw graddiad β€œgwrthdro” - gallwch weld pa sgΓ΄r _receive_ gan ddefnyddwyr. Sydd, mewn egwyddor, hefyd yn ddiddorol.

prosesu

I ddechrau, ymwadiad traddodiadol. Mae'r sgΓ΄r hon, fel pob un blaenorol, yn answyddogol. Nid wyf yn gwarantu na wnes i gamgymeriad yn unman. I'r rhai sydd Γ’ diddordeb mewn manylion technegol, darperir cod manylach yn y rhan flaenorol.

Felly gadewch i ni ddechrau. Cymerwyd sylwadau ar gyfer eleni, 2019 (nad yw drosodd eto), i'w dadansoddi. Ar adeg ysgrifennu, ysgrifennodd defnyddwyr 448533 коммСнтария, maint y ffeil csv yw 288MB. Pwerus, trawiadol.

Amser ysgrifennu

Gadewch i ni grwpio sylwadau fesul awr, gan rannu dyddiau'r wythnos a phenwythnosau ar wahΓ’n.

Habrastatistics: dadansoddi sylwadau darllenwyr

Yma nid oes gennym ddiddordeb mewn gwerthoedd absoliwt, ond mewn rhai cymharol. Os edrychwch arno β€œfel y mae”, yna mae'n troi allan hynnyΠΎYsgrifennwyd y rhan fwyaf o'r sylwadau yn ystod oriau gwaith o 10 i 18 πŸ˜‰ Ar y llaw arall, nid yw parthau amser yn cael eu hystyried yma, felly mae'r cwestiwn yn dal ar agor.

Gadewch i ni edrych ar ddosbarthiad y sylwadau trwy gydol y flwyddyn:

Habrastatistics: dadansoddi sylwadau darllenwyr

Ac eto mae'n cylchdroi; mae ymchwydd i'w weld yn glir ar ddyddiau'r wythnos - mae'r cyfnod wythnosol i'w weld yn glir, felly gallwn ddweud yn eithaf hyderus bod pobl yn darllen ac yn rhoi sylwadau ar Habr o'r gwaith (ond nid yw hyn yn sicr).

Gyda llaw, roedd syniad i brofi'r ddamcaniaeth a yw nifer y manteision neu'r anfanteision a dderbyniwyd yn wahanol i'r diwrnod neu'r amser o'r dydd, ond nid oedd yn bosibl dod o hyd i berthynas - nid yw'r amser y rhoddwyd y sgΓ΄r yn cael ei arbed, a nid oes cysylltiad uniongyrchol ag amser y sylw.

Defnyddwyr

Wrth gwrs, nid wyf yn gwybod union nifer y defnyddwyr ar y wefan. Ond roedd y rhai a adawodd o leiaf un sylw eleni yn fras Pobl 25000.

Mae'r graff o nifer y negeseuon a adawyd gan ddefnyddwyr yn edrych yn eithaf diddorol:

Habrastatistics: dadansoddi sylwadau darllenwyr

Ar y dechrau doeddwn i ddim yn ei gredu fy hun, ond roedd yn ymddangos nad oedd unrhyw gamgymeriad. Mae 5% o ddefnyddwyr yn gadael 60% o negeseuon. 10% - 74% o'r holl negeseuon (o'r rhain, gadewch imi eich atgoffa, eleni, 450 mil). Roedd y mwyafrif yn darllen y wefan yn syml, gan adael sylwadau yn anaml iawn, neu beidio Γ’'u gadael o gwbl (yn naturiol, nid oedd y rheini, yn naturiol, wedi'u cynnwys yn fy rhestr).

Ratings

Gadewch i ni symud ymlaen at y rhan olaf a mwyaf hwyliog o'r ystadegau - graddfeydd. Am resymau preifatrwydd, ni fyddaf yn rhoi llysenwau llawn y defnyddwyr, bydd pwy bynnag sy'n dymuno, rwy'n meddwl, yn adnabod eu hunain.

Ar nifer o sylwadau ar gyfer eleni, mae'r 5 uchaf yn cael eu meddiannu gan VoXXXX (3377 o sylwadau), 0xdXXXX (3286 o sylwadau), strXXXX (3043 o sylwadau), AmXXXX (2897 o sylwadau) a khXXXX (2748 o sylwadau).

Ar nifer y budd-daliadau a dderbyniwyd, mae amXXXX yn meddiannu'r 5 uchaf (1395 o sylwadau, graddfeydd +3231/-309), tvXXXX (1544 o sylwadau, sgΓ΄r +3231/-97), WhuXXXX (921 sylw, sgΓ΄r +2288/-13), MTXXXX (1328 sylw, +1383 /-7) ac amaXXXX (736 o sylwadau, sgΓ΄r +1340/-16).

Ar gradd gadarnhaol absoliwt (neb sylw negyddol) mae top y top yn cael ei feddiannu gan Milfgard ΠΈ Bomburum. Fel eithriad, rwy'n cyflwyno eu llysenwau yn llawn, rwy'n meddwl eu bod yn ei haeddu.

Mae'r anfanteision hefyd yn ddiddorol. Top gan nifer y minwsion a gasglwyd canys y flwyddyn hon y preswylir hwynt gan siXX (473 o bethau cadarnhaol, 699 o fanteision), khXX (1915 o bethau cadarnhaol, 573 o anfanteision) a nicXXXX (456 o fanteision, 487 o anfanteision). Ond fel y gwelwch, mae gan y defnyddwyr hyn ddigon o sylwadau cadarnhaol. Ond yn ol minws absoliwt Mae'r antitopig yn cynnwys vladXXXX (55 sylw, 84 minws, 0 pwyntiau cadarnhaol), ekoXXXX (77 sylw, 92 yn llai, 1 plws) ac iMXXXX (225 o sylwadau, 205 yn llai, 12 cadarnhaol).

Casgliad

Nid oeddwn yn gallu cyfrifo popeth a gynlluniwyd, ond rwy'n gobeithio ei fod yn ddiddorol.

Fel y gwelwch, gall hyd yn oed set ddata gyda nifer mor fach o feysydd ddarparu data diddorol i'w ddadansoddi. Mae llawer i gloddio iddo o hyd, o adeiladu β€œcwmwl geiriau” i ddadansoddi testun. Os daw unrhyw ganlyniadau diddorol i'r amlwg, cΓ’nt eu cyhoeddi.

Ffynhonnell: hab.com

Ychwanegu sylw