Python爬取620首虾米歌曲,揭秘五月天为什么狂吸粉?!
前言
文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
作者: CDA数据分析师
PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取
http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef
今天我就用Python爬一爬虾米音乐,半分析半安利地给大家介绍一下这个充满有趣灵魂的组合。
数据获取
本次爬虫主要目的是爬取五月天所有歌曲的信息,信息维度当然是越多越好啦。
直接搜索关键词“五月天”,可能会出现歌名是“五月天”的信息,或者别人翻唱“cover五月天”的内容,搜索范围变大,多抓取了不少无用信息。
所以我以“五月天-艺人-专辑信息-歌曲id-歌曲详情”这个路径进行数据爬取。我发现,无论是专辑信息、歌曲list还是歌曲详情,都存在于非常漂亮的JSON格式里面:

本来可以美滋滋“唰唰唰”地批量下载。但是!URL里面有一个s的参数,我暂时找不到变化的规律(摔!)因为赶时间,就另辟蹊径,用相对麻烦一点的beautiful soup库来解析网页源代码的内容,过程很坎坷,这就是我为什么五月天大电影上映凌晨还在写这篇文章的原因……
而且,爬虫的时候我还遇到两个坑:
1.两天前能运行的代码,在今天居然解析不到所需的内容了,因为爬取的东西内容格式发生了很大变化。难道是我正巧赶上了他们内部修改源代码的节点嘛?无从查证。
2.两天前还在显示的歌曲详情(播放量和收藏量),今天一看全都变成0了,每首歌都这样。我让别的朋友用其他电脑查看,也是没信息的。“检查”了一下,Play Count这些参数直接变成Null了…?
最后得到三个文件,分别是专辑信息(50张)、歌曲列表(620首)和歌曲详情(620首),主要是通过专辑字符和歌曲id进行相关联,具体字段如下:
专辑信息(专辑种类、ID、封面、名字、艺术家、收藏数、语言、播放数、推荐数、歌曲数量、专辑字符、评分、评分人数、发布时间)
歌曲列表(专辑名字、歌曲名字、ID、时长、播放量)
歌曲详情(歌曲名字、别名、歌曲ID、时长、播放次数、作词、作曲、编曲、专辑名字、歌词、热门第一条评论、评论点赞数)
数据清洗
国际惯例:Excel画图表+Python画词云,(自认为)简单粗暴又高效。

截止目前在虾米音乐平台关于五月天的一共有50张专辑,其中“正正经经”的专辑有9张(“录音室专辑”),“单曲”类专辑有20张,歌曲数量在1到6首不等。
判断作品的优劣,最明显快速的方式就是查看大众对其的评分,我们来瞧瞧这50张专辑的评分分布
Python爬取620首虾米歌曲,揭秘五月天为什么狂吸粉?!的更多相关文章
- python爬取网易云音乐歌曲评论信息
网易云音乐是广大网友喜闻乐见的音乐平台,区别于别的音乐平台的最大特点,除了“它比我还懂我的音乐喜好”.“小清新的界面设计”就是它独有的评论区了——————各种故事汇,各种金句频出.我们可以透过歌曲的评 ...
- python 虾米停服了...用python爬取虾米最近播放的1000首歌
1. 虾米关服 在这里插入图片描述 用了5年多的音乐软件就这么说关就关了,确实让人心里不好受 ,虽然再去一个新的app里,让它们的算法熟悉你的喜好也不是很困难,可我还是习惯虾米的界面.虾米现在可以支持 ...
- 如何用Python网络爬虫爬取网易云音乐歌曲
今天小编带大家一起来利用Python爬取网易云音乐,分分钟将网站上的音乐down到本地. 跟着小编运行过代码的筒子们将网易云歌词抓取下来已经不再话下了,在抓取歌词的时候在函数中传入了歌手ID和歌曲名两 ...
- Python爬取网易云音乐歌手歌曲和歌单
仅供学习参考 Python爬取网易云音乐网易云音乐歌手歌曲和歌单,并下载到本地 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做 ...
- 10、 在QQ音乐中爬取某首歌曲的歌词
需求就是把关卡内的代码稍作修改,将周杰伦前五页歌曲的歌词都爬取下来,结果就是全部展示打印出来. URL https://y.qq.com/portal/search.html#p ...
- 用Python爬取网易云音乐热评
用Python爬取网易云音乐热评 本文旨在记录Python爬虫实例:网易云热评下载 由于是从零开始,本文内容借鉴于各种网络资源,如有侵权请告知作者. 要看懂本文,需要具备一点点网络相关知识.不过没有关 ...
- Python爬取网易云热歌榜所有音乐及其热评
获取特定歌曲热评: 首先,我们打开网易云网页版,击排行榜,然后点击左侧云音乐热歌榜,如图: 关于如何抓取指定的歌曲的热评,参考这篇文章,很详细,对小白很友好: 手把手教你用Python爬取网易云40万 ...
- Python学习-使用Python爬取陈奕迅新歌《我们》网易云热门评论
<后来的我们>上映也有好几天了,一直没有去看,前几天还爆出退票的事件,电影的主题曲由陈奕迅所唱,特地找了主题曲<我们>的MV看了一遍,还是那个感觉.那天偶然间看到Python中 ...
- Python爬取视频指南
摘自:https://www.jianshu.com/p/9ca86becd86d 前言 前两天尔羽说让我爬一下菜鸟窝的教程视频,这次就跟大家来说说Python爬取视频的经验 正文 https://w ...
随机推荐
- java8-CompleableFuture的使用1
背景 硬件的极速发展,多核心CPU司空见惯:分布式的软件架构司空见惯: 功能API大多采用混聚的方式把基础服务的内容链接在一起,方便用户生活. 抛出了两个问题: 如何发挥多核能力: 切分大型任务,让每 ...
- lombok深入实践
官网视频 官网地址:https://projectlombok.org 官网的首页视频演示在eclipse中如何使用Lombok; Project Lombok is a java library t ...
- Web安全测试学习笔记-DVWA-图片上传
很多网站都有上传资源(图片或者文件)的功能,资源上传后一般会存储在服务器的一个文件夹里面,如果攻击者绕过了上传时候的文件类型验证,传了木马或者其他可执行的代码上去,那服务器就危险了. 我用DVWA的文 ...
- C#基本语法<二>_线程
线程 多线程和异步函数 当异步线程在工作完成时如何通知调用线程 当异步线程出现异常的时候该如何处理 异步线程工作的进度如何实时的通知调用线程 如何在调用线程中取消正在工作的异步线程,并进行回滚操作 异 ...
- ubuntu 中安装jenkins,基于docker运行jenkins
本文是在ubuntu环境下安装jenkins,jenkins运行在docker容器中,至于docker如何安装,本文不再描述,大家可以上网查询下,如何安装docker,下面先放上一个使用jenkin ...
- 设计好的报表是如何在 web 上显示的
润乾报表主要用来开发在 java web 端呈现的报表工具,设计器为桌面版,那么开发后的报表如何发布到 web 端是用户较为关心的问题. 润乾报表 web 端发布,采用 Taglib 方式,只需要在 ...
- [转]Paste from Excel into C# app, retaining full precision
本文转自:https://stackoverflow.com/questions/8614910/paste-from-excel-into-c-sharp-app-retaining-full-pr ...
- windows提权
提权辅助 https://bugs.hacking8.com/tiquan/
- InfluxDB因修改默认数据目录导致服务无法正常运行的问题(权限问题)
在实际的生产中,考虑的实际情况,我们会调整一些默认配置,例如,数据目录.InfluxDB修改默认的Data目录后,因权限问题,服务无法正常运行.以下是具体的分析测试过程. 配置文件为 /etc/inf ...
- Redis专题——Redis管理工具
一.安全性 1.运行环境 Redis以简洁为美,其安全性没有太多操作,要求在生产系统中外界不能直接连接Redis进行操作,而必须经过程序中转后,由程序进行操作. 即,redis要求运行在可信的环境中. ...