Habrastatistics:Habr如何在没有极客时间的情况下生活

哈Ha

本文是2018年Best Habr文章排名的逻辑延续。 尽管这一年还没有结束,但是如您所知,夏季规则有所变化,因此,看看它是否受到影响变得很有趣。



除了统计数据本身之外,还将提供文章的最新评级,以及一些对它的工作方式感兴趣的人的源代码。

对于那些对发生的事情感兴趣的人,继续进行下去。 那些对网站的各个部分进行更详细分析的人员也可以看到下一部分

源数据


该评级是非官方的,并且我没有任何内部数据。 很容易看到,在浏览器的地址栏中查看时,哈布雷的所有文章都有端到端编号。 接下来是一个技术问题,我们只是在一个周期中连续读取所有文章(在一个线程中并且有暂停,以便不加载服务器)。 这些值本身是通过Python中的简单解析器获得的(源代码在此处 ),并存储在近似于此类型的csv文件中:

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


处理中


为了进行解析,我们将使用Python,Pandas和Matplotlib。 那些对统计数据不感兴趣的人可以跳过此部分,然后立即阅读文章。

首先,您需要将数据集加载到内存中并选择所需年份的数据。

 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) 

事实证明,在撰写本文时,今年(尽管尚未完成)发表了12715篇文章。 为了进行比较,对于整个2018年-15904年。通常来说-每天大约有43篇文章(而且只有积极的评价,有多少篇文章被否定或删除,您只能猜测或粗略地找出其中的遗漏标识符)。

从数据集中选择必要的字段。 作为指标,我们将使用视图,注释,评级值和添加的书签的数量。

 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 

现在,数据已添加到数据集中,我们可以使用它们了。 按天分组数据并取平均值。

 g = df.groupby(['date']) days_count = g.size().reset_index(name='counts') year_days = days_count['date'].values grouped = g.median().reset_index() grouped['counts'] = days_count['counts'] counts_per_day = grouped['counts'].values counts_per_day_avg = grouped['counts'].rolling(window=20).mean() view_per_day = grouped['views'].values view_per_day_avg = grouped['views'].rolling(window=20).mean() votes_per_day = grouped['votes'].values votes_per_day_avg = grouped['votes'].rolling(window=20).mean() bookmarks_per_day = grouped['bookmarks'].values bookmarks_per_day_avg = grouped['bookmarks'].rolling(window=20).mean() 

现在,对于有趣的部分,我们可以看一下图表。

让我们看看2019年在Habré上的出版物数量。

 import matplotlib.pyplot as plt plt.rcParams["figure.figsize"] = (16, 8) fig, ax = plt.subplots() plt.bar(year_days, counts_per_day, label='Articles/day') plt.plot(year_days, counts_per_day_avg, 'g-', label='Articles avg/day') plt.xticks(rotation=45) ax.xaxis.set_major_formatter(mdates.DateFormatter("%d-%m-%Y")) ax.xaxis.set_major_locator(mdates.MonthLocator(interval=1)) plt.legend(loc='best') plt.tight_layout() plt.show() 

结果很有趣。 如您所见,Habr在这一年中略有“香肠”状态。 我不知道原因



为了进行比较,2018年看起来有些“平滑”:



总的来说,我没有看到图表上2019年已发表文章的数量有任何大幅减少。 而且,相反,自夏天以来似乎甚至略有增长。

但是下面的两个图表使我更加沮丧。

每篇文章的平均观看次数:



每篇文章的平均评分:



如您所见,一年中的平均观看次数略有减少。 可以通过以下事实来解释:新文章尚未被搜索引擎索引,并且它们很少被发现。 但是,每篇文章的平均评分的下降是难以理解的。 感觉是读者要么根本没有时间浏览这么多文章,要么不关注评级。 从作者的奖励计划的角度来看,这种趋势非常令人不快。

顺便说一句,2018年不是这种情况,时间表差不多。



通常,资源所有者需要考虑一些事情。

但是,我们不要谈论悲伤的事情。 总的来说,我们可以说哈伯(Habr)在夏天成功幸免,并且网站上的文章数量没有减少。

等级


现在,实际上是评级。 祝贺那些打他的人。 我再次提醒您,该评分是非官方的,也许我错过了一些内容,如果一定有这篇文章,但不是,请撰写,我将手动添加。 作为评分,我使用计算的指标,在​​我看来,这很有趣。

热门文章


收视率与收视率之比的热门文章


有关评论与视图比例的热门文章


最有争议的文章


最受好评的文章


热门书签文章


按查看书签比例排序


热门评论文章


最后,最后一次反停止的次数


ff 我有一些更有趣的示例,但不会让读者感到厌烦。

结论


在建立评级时,我提请注意似乎有趣的两点。

首先,毕竟,最热门的60%是极客时代类型的文章。明年是否会有更少的人,以及没有啤酒,太空,药物等的文章,哈勃尔的面貌如何-我不知道。读者肯定会失去一些东西。让我们看看。

其次,书签顶部竟然是高质量的。从心理上讲这是可以理解的,读者可能不会关注该评分,并且如果需要某篇文章,他们会将其添加到书签中。这只是有用和严肃文章的最大集中。我认为,如果网站所有者希望增加Habré上此特定类别的文章,则应该以某种方式考虑书签数量与奖励计划之间的关系。

这样的东西。我希望它能提供信息。

文章列表很长,但可能是最好的。祝大家阅读愉快。

Source: https://habr.com/ru/post/zh-CN466963/


All Articles