返回首页
笔记

知乎日报这五年:我们读了些什么

五年三万多篇文章,看过多少、记住多少,读了什么、留下什么

序言

知乎日报知乎旗下一款阅读产品,内容多由编辑精选,质量总体较高,自创刊以来一直肩负着向外输出平台优质内容、向内引流日报读者的重任,至今已运营五年有余。五年间,智能手机日新月异的发展即可见一斑,莫提互联网行业的蓝海变红河。日报倒是兢兢业业,办得有声有色,除了广告语不太着调——

每天三次,每次七分钟。

其晚间栏目(「深夜食堂」、「深夜惊奇」及现在的「小事」)更不知陪伴了多少人的深夜,与其他诸多栏目内容共同构成了万千读者的每日养分。

对于一个资讯阅读类产品而言,内容自然应当视为核心竞争力,那么问题来了:知乎日报这五年,我们究竟读了些什么呢?

私心一想这必是个数据挖掘的好项目,碰巧笔者近来正在学习,练手之余,也借之吹响转投数据行当的号角,极好。

思路梳理

数据挖掘的思路大同小异,大体上需经数据采集、预处理、分析、挖掘、可视化等步骤,结合本项目,我们大概要做的事情可按顺序列出如下:

  • 分析知乎日报结构,确定数据采集方法
  • 采集数据,简单清洗,构建数据库
  • 对日报条目的已有属性值做统计分析,判断属性规律并可视化
  • 对日报条目的话题集做关联规则分析,挖掘有趣的话题规则
  • 对日报条目的具体内容做文本挖掘,发掘主题/情绪等有价值信息
  • 回到问题,结合前述分析给出结论

数据准备

知乎日报内容结构

参考前人已整理过的知乎日报API1,加上笔者在抓取过程中的经验,知乎日报的结构是这样的:

  • 每日内容:含条目数量20上下
    • 条目:story,即日报列表中的条目,多数情况对应一个回答/故事
      • 编号:ID,条目编号,日报数据库中的唯一标识符,附于https://daily.zhihu.com/story/后访问即可查看具体内容
      • 标题:title,条目标题,可能是内容对应的问题,更多时候是标题党编辑新起的标题
      • 类型:type,目前发现三类,0为常规内容,为绝大多数;1为站外链接,常见微信公众号内容;2为站外发布内容,转载至日报
      • 栏目:section,栏目,如「深夜食堂」「瞎扯」「大误」等
      • 问题:question,条目内的组织以问题为骨架,每个问题可有若干答案
        • 题目:question-title,问题的题目
        • 回答:answer,问题的回答
          • 答主:author,昵称,知乎隐私保护设置未修改的话默认显示「知乎用户」
          • 简介:bio,答主的一句话介绍内容
          • 内容:content,干货(藏这么深,真是费劲= =)
        • ……
        • 链接:link,「查看知乎原文」的链接,可借以判断问题来源是问答/专栏/站外等
      • ……
    • ……

数据采集策略

同样参考上文提到的API,编写爬虫对数据进行采集,主要用到的工具为RequestsScrapy(均为Python的第三方库),爬虫一门博大精深,实操过程也满是坎坷,技术细节不细表,来日写在博客上,感兴趣者再交流。

抓取到ID、标题、栏目、日期等结构化数据存入MySQL数据库中,条目的HTML页面先下载到本地,再从中解析出题目、作者、回答内容等信息,这些作为非结构化的文本数据,整理存入MongoDB数据库中。

统计分析

条目统计

首先从数目上看,知乎日报创刊于2013年5月19日,截至2018年5月19日,整整五年,1827天,抓取条目35882条,日均19.64(≈20)条,与之前估计保持一致。

然而事实并没有我们想象的那么简单,图1给出了知乎日报五年来日推送条目数的演变情况。可以看出,日推送条目数量经历了一个显著的变化过程,依次经历了2013年创刊后的艰难起步、稳固爬升、波动震荡;至2014年春迎来了大繁荣,日推送条目数达到了五年最高,约在25条上下;之后开始回落,至15年稳定在20条附近,上下波动不超过5条;到了17年底、18年初,日条目数又表现出略微下降之势,不知以后会有何变数,我们且看且行。

图1 日推送条目数变化
图1 日推送条目数变化

栏目统计

其次是栏目分析。在我看来,知乎日报之所以能留住用户,很大原因在于其一些固定栏目的每日精品内容,诸如搞笑段子集中地「瞎扯」、晚间故事栏目「深夜食堂」等,均培养出不少死忠,笔者亦深受其毒。

对条目的栏目分布做以统计分析。35882条目中,7914条有栏目信息,占比22%,即有近8成的条目并不归属任何栏目,只看编辑心情推送(误)。

这7914条目又分为101个栏目,按其故事数制图如图2所示,版面所限仅标注栏目前11名。从中可见,「瞎扯」栏目实力冠绝群雄,1700多篇,几乎日更不断,看来段子果然还是编辑/读者最爱,应当向知乎上辛勤耕耘的段子手道一声辛苦了;「小事」接替了「深夜惊奇」(含深夜食堂)的位置,合计亦有1700余条,可与「瞎扯」一战,毕竟都是日更栏目,读者黏性很强;之后是影视栏目「放映机」、后起之秀「大误」等。值得注意的是,「这里是广告」屈居十一,未入前十,看来栏目软广效果不如APP开屏广告,用户体验自然没有优先级咯。

图2 故事栏目构成
图2 故事栏目构成

回答统计

来到回答,由于每条目下会有多个问题、每问题下会有多个回答,故回答数要高于条目数,经统计,共有回答52549个。

答主统计

先对答主探视一番,看看哪些知乎大V也是日报常客。去重统计后得答主15617位,为方便观察,只取上日报50次及以上者做以呈现如图3。其中有「知乎用户」4777人次占去四成,想来都是如笔者一般的低调志士(见上文答主隐私的说明);「匿名用户」1444人次,不出所料,匿名用户必须是知乎上得赞最高;编辑部小李登榜408次,内部人士无需多言;张佳玮公子是除前面三者之外最优秀者,见报250次,作为最早一批入驻知乎的用户,笔耕不辍的输出为其引来了大量拥趸。其他还能看到不少熟悉的ID,「心理学工作者」李松蔚、「亲王」马伯庸、以及KnowYourself、丁香医生之类机构号。看得出来,日报上榜数高者基本都是社区活跃用户,以认真的姿态撰写内容,自有精品被编辑选出;另一方面,知乎机构帐号自2016年7月开通之后,涨势迅猛,在有专业有组织的运营下,内容质量势必强过大部分单打独斗的笔客,故近1年多来频频被选入日报。至于是否有头部玩家拉扯商业互吹之嫌,便是后话了。

图3 回答作者统计
图3 回答作者统计

话题统计

其次是内容的话题标签。对日报条目内涉及的问题/文章,抓取页面上标记的话题(每页2~5个不等)进行汇总统计,按出现频率做「知乎」状词云如图4,可见出现最多的话题是电影、生活、心理学、调查类问题等,均为相对大众的话题,与日常感受相符。

图4 话题词云
图4 话题词云

话题关联

既然每个问题会同时被打上2-5个话题标签,那这些话题的共现(co-occurrence)是否存在一定规律呢?在此使用关联规则尝试挖掘。

Todo

文本挖掘

故事地理

首先对日报故事里的地点进行挖掘分析,将故事文本中的地名提取出来不严谨地视为「故事发生地」,某一回答中同一地名多次出现仅记单次,最终对所有条目的故事地点汇总,通过地理可视化来观察哪些城市或地区的故事最多。将城市提及频次以气泡大小显示在地图上便得到了图5,可见北京、上海作为特大城市是日报上许多故事发生或讨论的地点,整体上东密西疏十分显著(疑似有文本处理方法和地理词库的原因),不过多分析。

情绪感知

Todo

文本主题

Todo

小结

Todo

参考资料


  1. 知乎日报API分析