用python爬虫追踪知乎/B站大V排行

最近,我在学习和实践 python 的数据分析,前几周把知乎、B站、虎扑上的各种信息都抓了个遍,比如粉丝数、关注关系、发布时间、阅读量、回复数、标题关键字、地域分布……然后又对这些数据进行了整理,将数据通过各类图表进行可视化,进而分析出诸如:用户最喜欢在什么时候刷贴、什么样的标题更容易被点击、哪个地区的用户最喜欢评论、哪个UP主最勤奋等等。这几个案例和分析报告已经在整理中,接下来会陆续给大家分享。

今天要给大家看的,是在数据分析过程中产出的一个副产品:

知乎/B站的Top100大V排行

这个排行不是一次性的结果,而是每周更新的。所以从这个上面还可以显示出榜上大V一周来的用户增长和排名变化情况。

网址/源码/文档见文末

微博早期是有一个“粉丝数排行榜”的,可以看到谁的被关注数最多,现在好像已经取消了。像知乎、B站这种以内容为核心的网站,官方没有提供这样的榜单。不过某些吃瓜群众(比如我)多少还是会好奇,“头部”用户有哪些人

这两个平台的被关注数都是公开的数据,不像微信公众号。所以只要你一个个用户翻过去,就可以找出哪些用户的“粉丝”更多。但显然,我们不可能人工来做这样的事情,这两个平台的账号数都已过亿。我们需要借助程序来做这件事。

即使用程序,上亿个用户每个都查一下,假设1秒钟查10个,也需要查100多天。所以我们需要改进下“算法”:知乎上选取几个大V用户(实际上我们就是从“张佳玮”一个号开始),只去查他们关注的用户,如果发现里面有超过1万粉的大V,就加入到大V队列末尾,直到遍历完整个队列。再对所有找到的用户进行排序。因为通常来说,一个大V总会被其他大V所关注,所以这样就几乎包括了所有大V。

B站上也是类似,但是选取了今年播放数超50万视频的UP主,以他们作为最初的大V队列。之后再通过他们关注的人进行数据更新。

当然,这种方法也存在遗漏的可能,比如或许存在某个大V,因为某些原因恰好没有被我们所抓取的队列总任何一个用户所关注,那么他就不会存于排行榜中。虽然从统计学的角度来说,这个概率很小。但我们也为此做了一个弥补,就是一旦你发现某个大V不在列表中,可以通过页面上方的输入框提交他的主页链接,那么我们就会收录在队列中,下次更新时就会增加进去。

有了这个排行,平台上的大V都有谁就一目了然了。更进一步,你还可以从细节看出些有意思的东西。举几个例子:

  1. B站UP主“敬汉卿”,上周因为名字被某公司恶意抢注的事件,得到较多关注,粉丝涨了100多万
  2. 本期B站排名第69的“罗汉解说”,上周上升24名。对这位UP主我不熟悉,看了下也是因为一个维权相关的视频受到了关注
  3. 知乎上现在排名最前和涨幅最猛的是几个自家账号:知乎日报、刘看山、知科技。丁香医生超张佳玮成知乎一哥,而他俩则远高于后面一位。
  4. 知乎榜上只有一位用户的关注是负增长:无耻采铜。老知乎用户应该知道他,也是有一些历史遗留八卦在其中。此账号65万关注,但现在已没有任何回答。

通过数据的整理和可视化,经常会让人发现一些平常注意不到的信息。这个排行工具只是个练手的小程序,功能还简陋,也没做移动端适配。不过对于需要运营知乎账号的新媒体从业者,或者榜上的创作者们,类似的工具还是很有用处的。普通用户也可以从榜上去发掘一些宝藏作者/UP主。

这个案例对于想要做爬虫的同学来说是个比较好的套路案例。类似的方法,你可以用在监控商品价格波动、新品上架、库存量变化、番剧更新、明星的微博等等需求中。尽管现在有很多工具可以完成类似的工作,但如果遇到工具不能满足的时候,如果自己可以动手用几行代码解决,那就很能增加你的竞争力了。

此项目实现有一点特殊的地方在于,它的数据是另一个分析项目的副产品,是使用scrapy抓取的。因此在本案例中,我们以原始数据的形式直接给出。具体 scrapy 抓取部分的代码会在后续项目中提供。

此项目用django搭建了展示的页面,前端展示使用了Datatables表格插件。定时抓取是通过 Linux 下的cronjob功能来实现(windows 可以使用计划任务),抓取时使用了requests模块。

排行网页已上线,不过目前只是放在一个测试服务器上,带宽不大,如果文章发出后无法访问,多半是因为瞬时访问太多(这似乎成为常态了……),请晚些再体验。如果大家觉得这个功能有用,或者有其他建议的话,可以在本文下留言,我们之后还会再做进一步的更新。

关于Python学习指南

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

👉Python所有方向的学习路线👈

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

在这里插入图片描述

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python70个实战练手案例&源码👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉Python大厂面试资料👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

👉Python副业兼职路线&方法👈

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码免费领取保证100%免费

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值