Habrastatistika: nganalisis koméntar pamaca

Salam Habr. DI bagian saméméhna Popularitas sababaraha bagian tina situs dianalisis, sareng dina waktos anu sami timbul patarosan - data naon anu tiasa dicandak tina koméntar dina tulisan. Kuring ogé hoyong nguji hiji hipotésis, anu bakal kuring bahas di handap.
Habrastatistika: nganalisis koméntar pamaca

Data tétéla rada metot; Dituluykeun handapeun cut.

Ngumpulkeun data

Pikeun analisa, kami bakal ngagunakeun data pikeun taun ieu, 2019, khususna saprak kuring parantos nampi daptar tulisan dina bentuk csv. Kabéh anu tetep nyaéta nimba komentar ti unggal artikel untungna keur urang, aranjeunna disimpen aya, sarta euweuh requests tambahan perlu dijieun.

Pikeun nyorot komentar tina hiji artikel, kode di handap ieu cukup:

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)

Hal ieu ngamungkinkeun urang pikeun meunangkeun daptar koméntar anu siga kieu (nickname dihapus kusabab alesan privasi):

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

Sakumaha anjeun tiasa tingali, pikeun tiap koméntar urang tiasa nampi nami pangguna, tanggal, rating, sareng téks anu saleresna. Hayu urang tingali naon anu urang tiasa kéngingkeun tina ieu.

Ku jalan kitu, mimitina, pamanggih ngumpulkeun ratings éta saeutik béda - ningali naon ratings pamaké masihan. Salaku conto, anjeun tiasa ningali YouTube - bahkan pidéo anu paling idéal, bahkan pidéo anu henteu mawa inpormasi subjektif, murni pikeun rujukan atanapi sékrési warta, tetep nampi sababaraha minus. Hipotesis éta aya pamaké anu, murni klinis, teu resep sagalana pisan, meureun serotonin teu dihasilkeun dina uteuk atawa hal sejenna. Panginten jalma henteu kedah calik dina Habré, tapi pikeun ngubaran déprési ... Tapi tétéla, kuring henteu tiasa pariksa ieu di dieu, sabab ... daptar jalma anu masihan ratings teu disimpen dina komentar atawa artikel. Nya, nyaéta, urang bakal damel sareng data anu sayogi. Hasilna mangrupikeun rating "ngabalikkeun" - anjeun tiasa ningali rating naon anu _katampi_ ku pangguna. Nu, prinsipna mah, oge metot.

carana ngokolakeun

Pikeun mimitian ku, Bantahan tradisional. Peunteun ieu, sapertos sadayana sateuacana, henteu resmi. Abdi henteu ngajamin yén kuring henteu ngalakukeun kasalahan dimana waé. Pikeun anu resep kana detil téknis, disayogikeun kode anu langkung rinci dina bagian saméméhna.

Ku kituna hayu urang ngamimitian. Koméntar pikeun taun ieu, 2019 (anu teu acan réngsé), dicandak pikeun dianalisis. Dina waktos nyerat, pangguna nyerat comment 448533, ukuran file csv nyaeta 288 MB. Kuat, impressive.

Waktu nulis

Hayu urang grup komentar dumasar jam, ngabagi weekdays jeung sabtu minggu misah.

Habrastatistika: nganalisis koméntar pamaca

Di dieu urang teu kabetot dina nilai mutlak, tapi leuwih relatif. Lamun ngan nempo eta "sakumaha éta", lajeng tétéla étaоSeuseueurna koméntar ditulis dina jam damel ti 10 dugi ka 18 😉 Di sisi anu sanés, zona waktos henteu dipertimbangkeun di dieu, janten patarosanna masih kabuka.

Hayu urang tingali distribusi koméntar sapanjang taun:

Habrastatistika: nganalisis koméntar pamaca

Na acan eta rotates; a surge jelas katempo dina weekdays - periodicity mingguan jelas katempo, ku kituna urang bisa disebutkeun kalawan kapercayaan cukup luhur yén jalma anu maca jeung commenting on Habr ti pagawean (tapi ieu teu tangtu).

Ku jalan kitu, aya hiji gagasan pikeun nguji hipotésis naha jumlah minuses atanapi pluses narima béda ti dinten atanapi waktos poe, tapi teu mungkin pikeun manggihan hubungan - waktu rating ieu dibikeun teu disimpen, sarta teu aya hubungan langsung sareng waktos koméntar.

Pamaké

Tangtosna, kuring henteu terang jumlah pasti pangguna dina situs éta. Tapi jalma anu ninggalkeun sahenteuna hiji komentar taun ieu tétéla kira-kira jalma 25000.

Grafik jumlah pesen anu ditinggalkeun ku pangguna katingalina pikaresepeun:

Habrastatistika: nganalisis koméntar pamaca

Mimitina kuring sorangan teu percaya, tapi sigana teu aya kasalahan. 5% pamaké ninggalkeun 60% pesen. 10% - 74% tina sadaya pesen (anu, hayu atuh ngingetkeun anjeun, taun ieu, 450 rébu). Mayoritas saukur maca situs, ninggalkeun komentar pisan jarang, atawa teu ninggalkeun aranjeunna pisan (éta, sacara alami, teu kaasup dina daptar abdi).

ratings

Hayu urang ngaléngkah ka bagian panungtungan sarta paling senang tina statistik - ratings. Pikeun alesan privasi, abdi moal masihan nicknames pinuh ku pamaké, saha hayang, Jigana, bakal ngakuan dirina.

on jumlah komentar pikeun taun ieu, luhureun 5 dikawasaan ku VoXXXX (3377 komentar), 0xdXXXXX (3286 komentar), strXXXX (3043 komentar), AmXXXX (2897 komentar) jeung khXXXX (2748 komentar).

on jumlah kauntungan anu ditampi, Top 5 ditempatan ku amXXXX (1395 komentar, ratings +3231/-309), tvXXXX (1544 komentar, ratings +3231/-97), WhuXXXX (921 komentar, ratings +2288/-13), MTXXXX (1328 komentar, +1383 /-7) sareng amaXXXX (736 komentar, rating +1340/-16).

on rating positif mutlak (henteu aya saurang ogé komentar dipeunteun négatif) luhureun luhureun ditempatan ku Milfgard и Boomburum. Salaku iwal, abdi nampilkeun nicknames maranéhanana dina pinuh, Jigana aranjeunna pantes eta.

The downsides ogé metot. Top ku Jumlah minuses dikumpulkeun pikeun taun ieu aranjeunna dikawasaan ku siXX (473 pluss, 699 minuses), khXX (1915 pluses, 573 minuses) jeung nicXXXX (456 pluss, 487 minuses). Tapi sakumaha anjeun tiasa tingali, pamaké ieu geus cukup komentar positif. Tapi nurutkeun minus mutlak Antitopic ngawengku vladXXXX (55 komentar, 84 minuses, 0 pluses), ekoXXXX (77 komentar, 92 minuses, 1 tambah) jeung iMXXXX (225 komentar, 205 minuses, 12 pluses).

kacindekan

Kuring teu bisa ngitung sagalana rencanana, tapi kuring miharep éta metot.

Sakumaha anjeun tiasa tingali, malah hiji set data kalayan sajumlah leutik widang bisa nyadiakeun data metot pikeun analisis. Masih seueur anu kedah digali, tina ngawangun "awan kecap" dugi ka analisis téks. Upami aya hasil anu pikaresepeun, aranjeunna bakal diterbitkeun.

sumber: www.habr.com

Tambahkeun komentar