本文来自「楼+ 之数据分析与挖掘实战 」第 4 期学员 —— Yueyec 的作业。他爬取了B站上所有的番剧信息,发现了很多有趣的数据~

关键信息:最高播放量 / 最强up主 / 用户追番数据 / 云追番?

起源

「数据分析」从「数据挖掘」开始,Yueyec 同学选择了 BeautifulSoup 来爬取B站的番剧信息。部分代码如下:

完整的代码可在文末查看。

数据清洗

数据分析前,我们要对数据进行清洗。

爬取数据后,发现有些视频的播放次数为-1,可能是由于版权、封号等问题下架的视频,大约有1000多个。

data[-1 == data['观看次数']]

清洗掉这些脏数据,清洗完成后,就可以分析拿到手的数据了。

data.drop(data[-1 == data['观看次数']].index, inplace=True)

最勤劳的up主

开始数据分析环节,我们先来看看谁是最勤劳的up主,他贡献了全站四分之一的番剧,猜猜他是谁?

统计发现:大致四分之一是 哔哩哔哩官方 发布的,排第二的则为「小清水亜美」,搬运了3218 集的番剧,第三位为 东京电视台。

完整的代码可在文末查看。

收藏量和播放量最高的番剧

收藏量和播放量最高的番剧都是哪部?结果可能会大大出于意料……

data.sort_values("收藏", ascending=False).reset_index(drop=True)

收藏数量排序

统计发现,收藏的番剧中,很多都是剧场版,可能是相对于TV版,剧场版制作更精良的缘故。在具体排序中,排第五的居然是本月10号上传的番剧,这点很意外。

播放量最高的番剧又是哪个呢 :

data.sort_values("观看次数", ascending=False).reset_index(drop=True)

分析结果:

  1. 排名最高的「工作细胞」的播放量几乎达到了4000千万,远超第二部。

  1. 前五名中,「Overlord」出现了三次,果然是公认的B站霸权的番剧。

  2. 排名靠前的几部,都是番剧的第一集。

XX云番剧?

根据用户喜好,智能推荐音乐的应用我们都见过很多,但智能推荐番剧的好像挺少,能不能基于用户数据,做一个推荐番剧的系统呢?

Yueyec 同学进行了实验:

“另外爬取了用户的追番信息来做关联分析,可以查看到哪些番剧是关联比较大的。”

“可以看到,其中很多是同一个番剧,只是季数不同。但不少番剧之间也与很高的置信度,我觉得可以用此得到一个简单的推荐算法。”

中肯的总结和建议

  1. 通过这次6周的学习,补充了不少知识,加深了 Pandas 的使用,也了解了时间序列、自然语言等的处理方法。

  2. 虽然时间不长,但是对整个过程都有所了解,为将来学习机器学习建立了基石。

  3. 部分挑战太简单,建议把挑战换成从头到尾自己实现模型,更能加深印象和具有挑战难度。

  4. 第五周的内容展现了不同类型的分析模板,加强了见识也提供了很多扩展的内容。因为并没有完全看完,所以接下来会花部分时间来学习这部分。

除了 Yueyec 同学,还有很多优秀的同学的作品:

这些作品的代码,你可以在浏览器中输入这个链接,或点击阅读原文,再点击「查看更多优秀作品」来查阅。

https://github.com/shiyanlou/louplus-dm/tree/master/Assignments

如果你也想像这位同学一样,系统地学习数据挖掘和数据分析技能,可以了解一下《数据分析与挖掘实战》这门课程,目前已经开到第六期,一线大牛授课,带你在6周内成长为有真实工作能力的数据科学工程师。

现在扫码添加小姐姐微信,还可领取:100元优惠券 + 数据分析与挖掘学习脑图~

我在实验楼等你!

他爬取了B站所有番剧信息,发现了这些……的更多相关文章

  1. Ajax介绍及爬取哔哩哔哩番剧索引追番人数排行

    Ajax,是利用JavaScript在保证页面不被刷新,页面链接不改变的情况下与服务器交换数据并更新部分网页的技术.简单的说,Ajax使得网页无需刷新即可更新其内容.举个例子,我们用浏览器打开新浪微博 ...

  2. 爬虫入门六 总结 资料 与Scrapy实例-bibibili番剧信息

    title: 爬虫入门六 总结 资料 与Scrapy实例-bibibili番剧信息 date: 2020-03-16 20:00:00 categories: python tags: crawler ...

  3. 使用requests+pyquery爬取dd373地下城跨五最新商品信息

    废话不多说直接上代码: 可以使用openpyel库对爬取的信息写入Execl表格中代码我就不上传了 import requests from urllib.parse import urlencode ...

  4. 网络爬虫之scrapy爬取某招聘网手机APP发布信息

    1 引言 过段时间要开始找新工作了,爬取一些岗位信息来分析一下吧.目前主流的招聘网站包括前程无忧.智联.BOSS直聘.拉勾等等.有段时间时间没爬取手机APP了,这次写一个爬虫爬取前程无忧手机APP岗位 ...

  5. 利用Python爬虫爬取指定天猫店铺全店商品信息

    本编博客是关于爬取天猫店铺中指定店铺的所有商品基础信息的爬虫,爬虫运行只需要输入相应店铺的域名名称即可,信息将以csv表格的形式保存,可以单店爬取也可以增加一个循环进行同时爬取. 源码展示 首先还是完 ...

  6. Python爬取前程无忧网站上python的招聘信息

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 我姓刘却留不住你的心 PS:如有需要Python学习资料的小伙伴可以 ...

  7. 爬取前程无忧网站上python的招聘信息。

    本文获取的字段有为职位名称,公司名称,公司地点,薪资,发布时间 创建爬虫项目 scrapy startproject qianchengwuyou cd qianchengwuyou scrapy g ...

  8. Python爬取网址中多个页面的信息

    通过上一篇博客了解到爬取数据的操作,但对于存在多个页面的网址来说,使用上一篇博客中的代码爬取下来的资料并不完整.接下来就是讲解该如何爬取之后的页面信息. 一.审查元素 鼠标移至页码处右键,选择检查元素 ...

  9. 爬取猎聘大数据岗位相关信息--Python

    猎聘网站搜索大数据关键字,只能显示100页,爬取这一百页的相关信息,以便做分析. __author__ = 'Fred Zhao' import requests from bs4 import Be ...

随机推荐

  1. spring 使用@AspectJ注解开发Spring AOP

    选择切点 Spring是方法级别的AOP框架,而我们主要也是以某个类的某个方法作为切点,用动态代理的理论来说,就是要拦截哪个方法织入对应AOP通知. 代码清单:打印角色接口 package com.s ...

  2. 单机prometheus vs 集群kube-prometheus+prometheus-operator

    prometheus 组件: node-exporter:9100端口 https://segmentfault.com/a/1190000017959127

  3. 【缺少kubernetes权限】 namespaces "xxx" is forbidden: User "xxx" cannot xxx resource "xxx" in API group "xxx" in the namespace "xxx"

    需要添加权限,添加权限方式: https://github.com/argoproj/argo/issues/1068

  4. 《MySQL必知必会》学习笔记——第30章 改善性能

    本章将付息与MySQL性能有关的某些要点. 30.1 改善性能 数据库管理员把他们生命中的相当一部分时间花在了调整.试验以改善DBMS性能之上.在诊断英勇的滞缓现象和性能问题时,性能不良的数据库(以及 ...

  5. List的 Select()使用方法 Demo

    List的 Select()使用方法 用List存储对象,代码如下: IList<Student> studentList = new List<Student>(); ;i& ...

  6. SpringCloud学习笔记:服务支撑组件

    SpringCloud学习笔记:服务支撑组件 服务支撑组件 在微服务的演进过程中,为了最大化利用微服务的优势,保障系统的高可用性,需要通过一些服务支撑组件来协助服务间有效的协作.各个服务支撑组件的原理 ...

  7. Git 和 SVN 存储方式的差异对比

    Git git 对于一个文件的修改存储的是一个快照,就是说针对文件1,修改之后,生成文件2,文件2中包含文件的1的内容,如果当文件1不存在,版本回退也就不管用了. SVN SVN 存储的是对文件的差异 ...

  8. 关于tornado的raise gen.Retuen()

    raise gen.Return(response.body)在python3.3以后作用相当于return, 在python3.3之前作用是返回一个异常值, 和返回一个value python 3. ...

  9. Linux-通过源码安装某个版本的内核

    一下操作步骤来自于各种搜索出来的杂七杂八的东西.主要来自:https://blog.csdn.net/happyfreeangel/article/details/85088706 前置环境:Cent ...

  10. 感受typescript定义变量和数据类型的神奇魔力

    变量和数据类型 你的Javascript能力到达瓶颈?那是因为你还不会typescript.掌握TS,让你的开发更加准确简洁. 今天的学习中,我们接着从TS的数据类型和变量入手,感受它们的奇妙魔力. ...