美文网首页python爬虫日记本青春无悔图表工具
爬取简书26万+用户信息:数据可视化

爬取简书26万+用户信息:数据可视化

作者: 古柳_Deserts_X | 来源:发表于2017-09-22 21:58 被阅读2154次

    一、前言

    简书上有哪些优质用户?有多少大V粉丝数上万,获赞数上万?小透明的自己能排到多少位?大V之间相互关注情况如何?签约作者有多少人......

    我想要了解这些问题,于是便有了本文。

    二、爬虫思路

    《简书=鸡汤?爬取今日看点数据:1916篇简书热门文章可视化》项目里获取的,贡献了1916篇热门文章的共计799名用户的ID,作为种子ID,爬取各自关注列表里的用户信息,再爬取关注者的关注者,如此几层下去,便能获取到几十万乃至上百万条用户信息及彼此的关注情况。

    由于简书官方对数据有所保护和限制,仅能获取单个用户的900名关注者(粉丝亦然)。对于关注数小于900的自然能全部获取;而大于900的就只有不完整的数据。

    在通过2-3层数据爬取后,共获得261277条用户信息,具体数据有:用户名、主页url、是否为签约作者、粉丝数、获赞数、关注数、文章数、总字数等等

    三、数据可视化

    1、获取的ID分布情况

    爬取799个种子ID(记为第0层,图中由于数量级偏小,所以看不到出来柱形图的图案)各自的关注者,得到第1层47601条总ID数据(含重复ID),新增19526个净ID;再根据第1层新增的净ID,爬取其关注者,得到第2层1239366(约124w+)条总ID数据,新增189921个净ID;再根据第2层新增的净ID,爬取了部分ID的关注者,得到第3层391762条总ID数据,新增53677个净ID

    由于时间限制,没有再继续爬取下去,仅获取了上述共261277条数据。由上图可知,虽然一层层的爬取关注者,总ID数在第2层便突破了百万级别,但新增的用户ID增长并没有那么快,这说明被关注的用户重复出现,他/她们获得了广泛的关注,因而可以视为较优质的用户。

    2、26w+简书用户粉丝情况

    2.1 金字塔图

    有了26万多条数据后,先来看看这些用户各自都有多少粉丝,借此来看看每一个人大概的排名是多少。

    绘制成金字塔图后可知,这26w+用户里:粉丝数大于10w+的有5人,依次为:@刘淼、@简黛玉、@彭小六、@简书播客、@江昭和,均是万中挑一的人物;其他各梯度人数看图即可,不再赘述。值得一提的是粉丝数10-100区间的人数占比最大,为40.38%,而非0粉或1粉的用户,这进一步说明了本次本次爬取的数据较为优质。与《爬取张佳玮138w+知乎关注者:数据可视化》一文中张佳玮138w+知乎关注者中0粉占比29.18%,1-10粉占比55.49%,两者相加用户数已超过116w+,两相对比,更能说明上述问题:

    另外这26w+用户里0粉的有784人,论理本次爬取时能被爬取到的都起码有一个粉丝,要不然不符合上述爬取的思路,但这里却发现不仅有0粉的,甚至有十来个用户粉丝数为负数,不知道是不是简书的BUG,去他们的主页查看,发现确实显示的是负数,但是又明明有粉丝???

    2.2 瀑布图

    知道了各个梯度(区间)用户的数量和占比,自然也就能知道每个人的大致排名。以我自身为例,粉丝数480人,排名4140,为前1.6%。还有很大的努力空间。再将所有用户粉丝分布情况绘制成瀑布图,更能给所有奋笔疾书、努力写作和输出的人不断涨粉后跃迁、上升的直观感觉。

    3、TOP 10系列

    接下来再看看各种TOP 10的榜单:

    3.1 粉丝数前十

    全部用户平均粉丝数为79人。全靠下面的大V带飞。

    1、刘淼:178262;2、简黛玉:177047;

    3、彭小六:139994;4、简书播客:138836;

    5、江昭和:133940;6、简叔:89629;

    7、韩大爷的杂货铺:88845;8、Sir电影:88840;

    9、饱醉豚:86540;10、我带爸爸看世界:77153;

    3.2 获赞数前十

    全部用户平均获赞数为102个。大V天天见。

    1、彭小六:222734;2、韩大爷的杂货铺:131250;

    3、简黛玉:124723;4、Sir电影:83485;

    5、衷曲无闻:81205;6、怀左同学:80567;

    7、剽悍一只猫:79558;8、安梳颜:74808;

    9、顾一宸:69015;10、陶瓷兔子:66527;

    3.3 关注数前十

    活捉十只关注狂魔!全部用户平均关注数为25人。拖后腿系列

    1、临川人:12878;2、桐子树下:10624;

    3、阿立斯本:7807;4、陈三白:6651;

    5、WEFG_jakerfenG:6174;6、欣悦生化:6168;

    7、Athena79:5434;8、曾培然:5107;

    9、有领uullnn:5086;10、MasterKang:5035;

    3.4 文章数前十

    所有用户平均文章数为14篇。刚好达标。

    1、絕塵:2150;2、幸运的贝壳:1834;

    3、孤鸟差鱼:1731;4、淡定之龍的傳人:1587;

    5、Sir电影:1582;6、郭相麟:1455;

    7、鸭梨山大哎:1364;8、炫彬:1360;

    9、葡萄喃喃呓语:1354;10、军旗猎猎:1330;

    3.5 总字数前十

    所有用户平均总字数为16750。emmmmmm.

    1、爱可可_爱生活:5953371;2、絕塵:4357012;

    3、Sir电影:3948118;4、王邑尘:3566126;

    5、Sting:3412810;6、诗之源:3337821;

    7、优雅爱敌:2716884;8、柳志儒:2512482;

    9、掘金官方:2483024;10、军旗猎猎:2429342;

    3.6 获赞数/文章数前十

    1、一棵花白:7517.5;2、冰冷钻戒:4650;

    3、Gosmy:3917;4、该号已废:3751;

    5、二十初仲夏的树:3616.85;6、米洛在波士顿:3483;

    7、Gibson:2973;8、Mr楠先生:2540;

    9、南调北征:2419;10、她好酷的:2391;

    4、126名签约作者

    很多人都以成为签约作者作为自己写作努力的方向,那么简书到底有多少名签约作者呢?在这26w+较优质用户里,共有126人的主页上明确地挂有“签约作者”的标签。为什么这么说呢,是签约作者就是,不是就不是,难道主页上没有标签的用户也可能是“签约作者”不成?!

    这个好像还真的有可能。具体有待探究。后续会继续研究下“签约作者”这个群体。目前已经另外爬取@签约作者文章合集专题里的3141篇文章,发现该专题里签约作者依旧小于150人,其中不少人目前主页上并没有显示标签。去掉和上面126名重复的用户后也不到200人,因此推测简书总共的签约作者不到200人,虽然根据爬取的数据显示,很多人的粉丝数、喜欢数、文章数等都已经符合申请要求了。

    四、小结

    1、后续会继续研究下“签约作者”这一群体;

    2、学习下用D3.js怎么绘制大V们相互关注的情况;

    3、同样的会用《爬取张佳玮138w+知乎关注者:数据可视化》中获取的较优质的用户ID作为种子ID,用本文相同的爬取思路,去获取更多知乎大V的数据。

    相关文章

      网友评论

      • 魔鬼的赞歌:获赞/文章数没意义,因为文章撤回私密以后显示的总喜欢数是不变的,所以排在前面的都是把大部分文章私密了的。
        古柳_Deserts_X: @魔鬼的赞歌 Deserts_X: @魔鬼的赞歌 不知道为什么要这么设计😂,爬过不少简书数据也顺带发现过不少类似的BUG
      • 柚稚妈妈:我在哪里?
        古柳_Deserts_X:@柚稚妈妈 嗯嗯。你那会粉丝数就有4.2万了,排在前50左右。很厉害!膜拜!
        柚稚妈妈: @Deserts_X 对,对,挺麻烦的!谢谢你还帮我看!谢谢!
        古柳_Deserts_X:大家可以直接看图来估算啊。4.6w粉丝数,在1-10w区间里,前0.1%没得跑。每个人都问我具体排名的话,我需要每次看看你们主页现在的粉丝数,再找到我爬取的数据文件,在里面搜,有点麻烦的。大家自己估计下吧。
      • f5129b32b072:大数据,云计算
        古柳_Deserts_X:和我都没什么关系。2333
      • 7fc14ada7795:楼主能不能公开一下有关破解简书反爬虫相关的代码,谢谢
        古柳_Deserts_X:@听痴人说梦 就是一般动态加载,其实不难的
      • 梦猫人读书:我表示数据盲看不懂~我在哪里?😎😎😎
        梦猫人读书: @Deserts_X 我要粉你,随时获取自己的位置~哈哈~
        梦猫人读书: @Deserts_X 都是僵尸粉~😌😌😌😌
        古柳_Deserts_X:@冬瓜妈妈的后花园 我在数据里查了下,当时你的粉丝数1570多。正好排名1550多。在这26万人里排0.6%左右,现在2.8k粉丝,这段时间涨粉蛮快呀:scream:
      • 現實世界:为什么简书会有关注人数上限这个,…
        古柳_Deserts_X:@現實世界 母鸡啊,就是不知道的意思啊。:joy:
        現實世界: @Deserts_X 母鸡?
        古柳_Deserts_X:母鸡啊。这就是产品设计的哲学了。
      • 心彻:想请问一下,你在做这个事情的时候,爬虫部分的代码和图表部分的代码,哪个更耗时一些呢?
        古柳_Deserts_X:@心彻 其实也有很多可视化的图表还不会,去拓展的话也是需要学习的
        心彻:@Deserts_X 这大概就是经验的重要之处,准备好数据源,代码差不多都已经写过了,是吧,哈哈!感谢分享:+1: :+1: :+1:
        古柳_Deserts_X:如果你指的是写代码的话,其实都不怎么耗时,爬虫的话,反爬不怎么严格;图表的话,我已经用ECharts绘制过不少图了,越到后面,其实只需要把数据处理成相应格式,找旧代码对应替换下,就行了。如果是运行的话,爬取数据量大的话,会很耗时。另外,ECharts绘图的代码和图表部分,有打算之后将所有文章用到的全部整理成一篇文章公开。
      • 梅话三弄:现在“关注人数”设置了上限,所以没什么研究可比性
        古柳_Deserts_X:@梅话三弄 :虽然不知道表扬了啥,但还是很受宠若惊。
        梅话三弄: @Deserts_X 我们家状元老公严重表扬你了,能得他表扬不容易啊!
        古柳_Deserts_X:@梅话三弄 也不是,关注列表是我爬取数据的思路,之后是根据所有用户的粉丝数、喜欢数等去研究的。
      • 月月半半:牛,啥时候能分享下代码学习?
        古柳_Deserts_X:@姚小培 可视化部分的代码,我有打算把所有文章里用到ECharts来绘制图表的代码和图好好整理成一篇文章后公开,爬虫的可能和以前一样懒得公开了。
      • 陈安若:哇,好厉害👍数据看起来很直观,知道自己大概位置了。
        古柳_Deserts_X:@陈安若 无法反驳。233333:smirk:
        陈安若: @Deserts_X 233333你很快就会超过我的😜
        古柳_Deserts_X:@陈安若 我也知道了自己的位置,排在你的后面2333
      • 8c84f3fdbbf4:总结的内容正好是正在简书上笔耕不辍的人想要了解的
        8c84f3fdbbf4: @Deserts_X 谢谢你的好文
        古柳_Deserts_X:嗯,也是我想了解的。
      • 短文学:厉害 我也要学习爬虫
        古柳_Deserts_X:@短文学 悄悄地授人以鱼和渔。
        短文学:@Deserts_X 仔细观察你文章提到的信息 找到了不少工具 和工具书
        古柳_Deserts_X:想学你就多学点。
      • 浪费了昨天:简书还没更新反爬策略吗😂
        古柳_Deserts_X:应该是没有。:no_mouth:
      • 五陵豪杰也爱猫:不错,但数据应该有点失真了。
        古柳_Deserts_X:@五陵豪杰也爱猫 是指数据实时变化呢还是什么?数据每时每刻都在变化,这也难免,只是相对的比较、参考下,有个数即可。
        五陵豪杰也爱猫: @Deserts_X 粉丝数据这块。
        古柳_Deserts_X:指哪方面
      • b1384e91e5b9:你好!爬虫可以爬去收费素材视频吗?国外的网站
        古柳_Deserts_X:@则么聊则么嗨 收费,视频,国外…啥网站。能正常浏览的一般都能爬,都是模拟人浏览的过程的。要是你指的是收费的想这么爬就不用付费了,那是不太可能的。

      本文标题:爬取简书26万+用户信息:数据可视化

      本文链接:https://www.haomeiwen.com/subject/dfzfextx.html