Habrastatistics: bagaimana Habr hidup tanpa geektimes
Hei Habr.
Artikel ini merupakan kelanjutan logis dari peringkat tersebut Artikel Habr terbaik untuk 2018. Dan meskipun tahun belum berakhir, tetapi seperti yang Anda ketahui, ada perubahan aturan di musim panas, jadi menarik untuk melihat apakah itu memengaruhi sesuatu.
Selain statistik aktual, juga akan ada peringkat artikel yang diperbarui, serta beberapa sumber bagi mereka yang tertarik dengan cara kerjanya.
Bagi mereka yang tertarik dengan apa yang terjadi, lanjutkan di bawah potongan. Mereka yang tertarik dengan analisis yang lebih rinci dari bagian-bagian situs juga dapat melihatnya bagian berikutnya.
Data mentah
Peringkat ini tidak resmi, dan saya tidak memiliki data orang dalam. Karena mudah dilihat dengan melihat bilah alamat browser, semua artikel di Habré memiliki penomoran yang berkelanjutan. Kemudian soal teknik, hanya dalam satu siklus kita membaca semua artikel secara berurutan (dalam satu utas dan dengan jeda agar tidak memuat server). Nilai-nilai itu sendiri diperoleh dengan pengurai Python sederhana (ada sumber di sini) dan disimpan dalam file csv seperti ini:
2019-08-11T22:36Z,https://habr.com/ru/post/463197/,"Blazor + MVVM = Silverlight наносит ответный удар, потому что древнее зло непобедимо",votes:11,votesplus:17,votesmin:6,bookmarks:40,views:5300,comments:73
2019-08-11T05:26Z,https://habr.com/ru/news/t/463199/,"В NASA испытали систему автономного управления одного микроспутника другим",votes:15,votesplus:15,votesmin:0,bookmarks:2,views:1700,comments:7
pengolahan
Untuk parsing, kami akan menggunakan Python, Pandas dan Matplotlib. Mereka yang tidak tertarik dengan statistik dapat melewati bagian ini dan langsung ke artikel.
Pertama, Anda perlu memuat kumpulan data ke dalam memori dan memilih data untuk tahun yang diinginkan.
import pandas as pd
import datetime
import matplotlib.dates as mdates
from matplotlib.ticker import FormatStrFormatter
from pandas.plotting import register_matplotlib_converters
df = pd.read_csv("habr.csv", sep=',', encoding='utf-8', error_bad_lines=True, quotechar='"', comment='#')
dates = pd.to_datetime(df['datetime'], format='%Y-%m-%dT%H:%MZ')
df['datetime'] = dates
year = 2019
df = df[(df['datetime'] >= pd.Timestamp(datetime.date(year, 1, 1))) & (df['datetime'] < pd.Timestamp(datetime.date(year+1, 1, 1)))]
print(df.shape)
Ternyata tahun ini (walaupun belum berakhir) pada saat penulisan, 12715 artikel telah diterbitkan. Sebagai perbandingan, untuk keseluruhan tahun 2018 - 15904. Secara umum banyak - ini sekitar 43 artikel per hari (dan ini hanya dengan rating positif, berapa total artikel yang dimuat yang negatif atau dihapus, seseorang hanya dapat menebak atau memperkirakan secara kasar dengan kelalaian di antara pengidentifikasi).
Pilih bidang yang diperlukan dari kumpulan data. Sebagai metrik, kami akan menggunakan jumlah tampilan, komentar, nilai peringkat, dan jumlah bookmark.
def to_float(s):
# "bookmarks:22" => 22.0
num = ''.join(i for i in s if i.isdigit())
return float(num)
def to_int(s):
# "bookmarks:22" => 22
num = ''.join(i for i in s if i.isdigit())
return int(num)
def to_date(dt):
return dt.date()
date = dates.map(to_date, na_action=None)
views = df["views"].map(to_int, na_action=None)
bookmarks = df["bookmarks"].map(to_int, na_action=None)
votes = df["votes"].map(to_float, na_action=None)
votes_up = df["up"].map(to_float, na_action=None)
votes_down = df["down"].map(to_float, na_action=None)
comments = df["comments"].map(to_int, na_action=None)
df['date'] = date
df['views'] = views
df['votes'] = votes
df['bookmarks'] = bookmarks
df['up'] = votes_up
df['down'] = votes_down
Sekarang data telah ditambahkan ke dataset dan kita dapat menggunakannya. Mari kita kelompokkan data berdasarkan hari dan ambil nilai rata-ratanya.
Hasilnya menarik. Seperti yang Anda lihat, Habr sedikit "sosis" sepanjang tahun. Saya tidak tahu alasannya.
Sebagai perbandingan, 2018 terlihat sedikit "lebih mulus":
Secara umum, saya tidak melihat adanya penurunan drastis jumlah artikel yang diterbitkan pada tahun 2019 di grafik. Selain itu, sebaliknya, tampaknya telah tumbuh sedikit sejak musim panas.
Tetapi dua grafik berikutnya membuat saya sedikit lebih tertekan.
Tampilan rata-rata per artikel:
Peringkat rata-rata per artikel:
Seperti yang Anda lihat, jumlah rata-rata penayangan sepanjang tahun sedikit berkurang. Hal ini dapat dijelaskan dengan fakta bahwa artikel baru belum diindeks oleh mesin pencari, dan jarang ditemukan. Namun penurunan rating rata-rata per artikel lebih tidak bisa dipahami. Perasaannya adalah bahwa pembaca tidak punya waktu untuk melihat begitu banyak artikel atau tidak memperhatikan peringkatnya. Dari sudut pandang program dorongan penulis, tren ini sangat tidak menyenangkan.
Omong-omong, ini tidak terjadi di tahun 2018, dan jadwalnya kurang lebih sama.
Secara umum, pemilik sumber daya memiliki sesuatu untuk dipikirkan.
Tapi jangan bicara tentang hal-hal yang menyedihkan. Secara umum, kami dapat mengatakan bahwa Habr "selamat" dari perubahan musim panas dengan cukup sukses, dan jumlah artikel di situs tidak berkurang.
Penilaian
Sekarang sebenarnya, peringkatnya. Selamat bagi yang sudah masuk ke dalamnya. Izinkan saya mengingatkan Anda sekali lagi bahwa peringkatnya tidak resmi, mungkin saya melewatkan sesuatu, dan jika beberapa artikel pasti ada di sini, tetapi tidak, tulis, saya akan menambahkannya secara manual. Sebagai penilaian, saya menggunakan metrik yang dihitung, yang menurut saya ternyata cukup menarik.
Uff. Saya memiliki beberapa pilihan yang lebih menarik, tetapi saya tidak akan membuat pembaca bosan.
Kesimpulan
Saat menyusun rating, saya memperhatikan dua poin yang sepertinya menarik.
Pertama, bagaimanapun juga, 60% dari yang teratas adalah artikel bergenre "geektimes". Apakah jumlah mereka akan berkurang tahun depan, dan bagaimana Habr akan terlihat tanpa artikel tentang bir, luar angkasa, obat-obatan, dan sebagainya - saya tidak tahu. Pasti, pembaca akan melewatkan sesuatu. Mari kita lihat.
Kedua, bagian atas bookmark ternyata berkualitas tinggi. Ini bisa dimengerti secara psikologis, pembaca mungkin tidak memperhatikan rating, dan jika artikelnya perlu, lalu akan ditambahkan ke bookmark. Dan inilah konsentrasi terbesar dari artikel yang bermanfaat dan serius. Saya pikir pemilik situs harus memikirkan hubungan antara jumlah bookmark dan program hadiah jika mereka ingin meningkatkan kategori artikel khusus ini di sini di Habré.
Sesuatu seperti ini. Harapan itu informatif.
Daftar artikelnya ternyata panjang, yah, mungkin itu yang terbaik. Selamat membaca semuanya.