前言

文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者: 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首虾米歌曲,揭秘五月天为什么狂吸粉?!的更多相关文章

  1. python爬取网易云音乐歌曲评论信息

    网易云音乐是广大网友喜闻乐见的音乐平台,区别于别的音乐平台的最大特点,除了“它比我还懂我的音乐喜好”.“小清新的界面设计”就是它独有的评论区了——————各种故事汇,各种金句频出.我们可以透过歌曲的评 ...

  2. python 虾米停服了...用python爬取虾米最近播放的1000首歌

    1. 虾米关服 在这里插入图片描述 用了5年多的音乐软件就这么说关就关了,确实让人心里不好受 ,虽然再去一个新的app里,让它们的算法熟悉你的喜好也不是很困难,可我还是习惯虾米的界面.虾米现在可以支持 ...

  3. 如何用Python网络爬虫爬取网易云音乐歌曲

    今天小编带大家一起来利用Python爬取网易云音乐,分分钟将网站上的音乐down到本地. 跟着小编运行过代码的筒子们将网易云歌词抓取下来已经不再话下了,在抓取歌词的时候在函数中传入了歌手ID和歌曲名两 ...

  4. Python爬取网易云音乐歌手歌曲和歌单

    仅供学习参考 Python爬取网易云音乐网易云音乐歌手歌曲和歌单,并下载到本地 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做 ...

  5. 10、 在QQ音乐中爬取某首歌曲的歌词

        需求就是把关卡内的代码稍作修改,将周杰伦前五页歌曲的歌词都爬取下来,结果就是全部展示打印出来.       URL  https://y.qq.com/portal/search.html#p ...

  6. 用Python爬取网易云音乐热评

    用Python爬取网易云音乐热评 本文旨在记录Python爬虫实例:网易云热评下载 由于是从零开始,本文内容借鉴于各种网络资源,如有侵权请告知作者. 要看懂本文,需要具备一点点网络相关知识.不过没有关 ...

  7. Python爬取网易云热歌榜所有音乐及其热评

    获取特定歌曲热评: 首先,我们打开网易云网页版,击排行榜,然后点击左侧云音乐热歌榜,如图: 关于如何抓取指定的歌曲的热评,参考这篇文章,很详细,对小白很友好: 手把手教你用Python爬取网易云40万 ...

  8. Python学习-使用Python爬取陈奕迅新歌《我们》网易云热门评论

    <后来的我们>上映也有好几天了,一直没有去看,前几天还爆出退票的事件,电影的主题曲由陈奕迅所唱,特地找了主题曲<我们>的MV看了一遍,还是那个感觉.那天偶然间看到Python中 ...

  9. Python爬取视频指南

    摘自:https://www.jianshu.com/p/9ca86becd86d 前言 前两天尔羽说让我爬一下菜鸟窝的教程视频,这次就跟大家来说说Python爬取视频的经验 正文 https://w ...

随机推荐

  1. Python爬虫基础——HTML、CSS、JavaScript、JQuery网页前端技术

    一.HTML HTML是Hyper Text Markup Language(超文本标记语言)的缩写. HTML不是一种编程语言,而是标记语言. HTML的语法 双标签: 单标签: HTML的元素和属 ...

  2. 被忽略的CSS规则

    说起CSS规则,除了普通规则(属性和值,key:value),可能大家都会想到@media,@keyframes,@fontface等常用的,那剩余的大家是否有所了解呢. 我们先来看一看CSS有哪些规 ...

  3. Gradle如何在任务失败后继续构建

    如果我们运行Gradle构建并且其中一项任务失败,则整个构建将立即停止.因此,我们可以快速反馈构建状态.如果我们不想这样做,并且希望Gradle执行所有任务,即使某些任务可能失败了,我们也可以使用命令 ...

  4. echarts 柱状图+折线+文字倾斜及省略

    效果图: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  5. 应用DEV第三方界面控件制作批量添加水印程序

    本次应用DevExpress和C#语言制作了一个批量添加水印的程序,看界面效果图: 界面中既可以进行文字水印添加,也可以图片水印添加,同时还可以对水印的位置进行设置,比较实用! 文字水印的具体添加情况 ...

  6. 地图SDK全面升级 – 数十项新功能及优化等你来体验

    腾讯位置服务地图SDK是一套提供多种地理位置服务的应用程序接口.通过调用该接口,开发者可以在自己的应用中加入地图相关的功能(如地图展示.标注.绘制图形等),轻松访问腾讯地图服务和数据,构建功能丰富.交 ...

  7. Java中的“scanf()、cin()、input()"

    最近在写一个Java程序时遇到一个问题,就是如何在Java里面输入数值,又叫做获取键盘输入值. 因为c语言里面有scanf(),C++里面有cin(),python里面有input().Java里面有 ...

  8. docker 私有registry harbor安装

    一,harbor安装: 参考:Installation and Configuration Guide 1,安装docker 2,安装docker compose sudo curl -L " ...

  9. STL 中 map 的使用

    涉及:vector,pair 基本结构 map 从本质上来说是一颗二叉排序树,树上的节点类型为pair.pair类型中有两个重要的成员变量,其中 first 存储了 key ,second 存储了 v ...

  10. LG5202 「USACO2019JAN」Redistricting 动态规划+堆/单调队列优化

    问题描述 LG5202 题解 \[opt[i]=xx+(cnt[i]-cnt[yy]<=0)\] 发现\(cnt[i]-cnt[yy] <= 0\)只能有两种取值 于是直接堆优化即可 \( ...