鱼C论坛

 找回密码
 立即注册
查看: 4510|回复: 13

[技术交流] 【原创爬虫】网易云音乐推荐歌单排行榜,请科学听歌!!!!

[复制链接]
发表于 2017-4-2 00:21:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 gopythoner 于 2017-5-18 11:36 编辑

爬虫背后的故事:
楼主是非常喜欢听歌的,上下班坐地铁都是插着耳机的
最喜欢的音乐平台非网易云音乐莫属

由于听得多,很多时候总是没有歌可听
熟成歌荒……

每当这个时候,我就不得不去网易云的推荐歌单中随便点击一个来听
但是,毕竟是别人的推荐,风格并不一定适合我的喜好
(说到这里,不得不提网易云的每日推荐歌单TOP20了,这个神器在之前很大一部分情况都支持了我的每日歌单)
鉴于经常有歌荒
于是我决定爬一下网易云的推荐歌单,看看哪些歌是被大多数人推荐的
我可以把推荐的次数做一个排名,然后把推荐频次最多的一些歌找出来,放入自己的歌单中……

于是……
爬虫启动了*****************************************************************************************

一、网易云音乐推荐歌单介绍
下图截图就是网易云推荐歌单的风格,一般听歌是先选个自己想听的风格,然后就会得到一大批歌单
歌单风格.png
本次我主要进行分析的是民谣风格的歌单
大家可以看看这个风格的歌单,网页版总共有42页,每页35个歌单,但是最后一页不满,只有20个。
我把这42页全部爬完了,总计就是35x41+20=1455个歌单
看到这个数字你们可能觉得没什么,也才1455个歌单而已,但是由于每个歌单里面包含的歌曲数量不等,从十几首歌曲到一百多的都有,我总计趴下来的有120000多首歌曲(这个仅仅是民谣的42页歌单)

爬虫启动先要输入一个想要爬的歌单页码数,当你不需要全部爬的时候可以选择只爬10页或者20页都行
我直接输入了50,当时没看只有42页,不过这个不影响
输入页码之后会得到一个所有风格的列表,就是网易云推荐歌单的风格汇总
如图:
QQ截图20170401225807.png
接下来输入自己要爬的风格就行,比如输入“民谣”,等待几分钟爬虫就可以得到一个表格文件
看看我爬的总歌曲数量,还有运行时间!
歌曲总数.png

二、歌单表格分析

得到的表格这如图这样的,包含了歌曲的ID,歌名,歌手,专辑,链接等等信息
QQ截图20170402000757.png

接下来是分析了
分析一、歌曲TOP25
楼主一开始就说了,爬这个就是为了给自己建立歌单,所以把推荐次数最多的歌曲提出来,自己如果没听过就果断收录了
如果所示是民谣TOP25
民谣歌曲25.png
大家喜欢民谣都可以看看,这些歌曲是不是自己都听过,如果没听过,那就快去试听一下吧,说不定就找到了新的单曲循环歌曲了

分析二、歌手T0P
有时候与其去找歌曲,不如找一个好的歌手,民谣歌手很多并不出名,所以有些好听的歌曲你并不知道歌手是谁,有了这份歌手推荐榜,妈妈再也不怕你没有歌听了
歌手情况.png

分析三、专辑TOP
看到那么多歌曲,一个个的去收录未免麻烦了点吧,但是如果有那么几个专辑的推荐次数很多,你还犹豫啥,赶紧去整个专辑找啊
专辑情况.png

以上就是我对于民谣这个风格的120000多首歌曲的排行榜做出来的图标
很简单的分析,但是够清晰吧

其实这个爬虫最大的意义在于可以把所有风格的歌单都找出来,这样,我把每个风格的排名前30的歌曲建一个网易云歌单,然后把歌曲添加进去,不就可以得到一大批网友重点推荐歌单么
事实上,我就是这么做了

如图,是其他几个风格的歌曲排行榜前TOP30
歌单.png
这个我会以表格的形式分享到下面
如果要所有歌单的完整歌曲表格,我也打包一下吧(不够除民谣,其他的我只爬了20页,每个都是4万-8万的数据量)
爬虫代码也一并奉上

由于汇总歌单的表格太大了,无法上传,所以暂且放下不传了,有需要的我可以到时候放到百度云,给个共享出来

歌单T0P30.zip

8.53 KB, 阅读权限: 1, 下载次数: 36

歌单TOP30

评分

参与人数 5荣誉 +26 鱼币 +26 贡献 +20 收起 理由
膜法记者 + 5 + 5 + 3 支持楼主!
若余相思 + 5 + 5 + 3 感谢楼主无私奉献!
不二如是 + 6 + 6 + 6 实干兴邦!
秋名86 + 5 + 5 + 3 感谢楼主无私奉献!
lumber2388779 + 5 + 5 + 5 感谢楼主无私奉献!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-2 00:23:23 From FishC Mobile | 显示全部楼层
明天试一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-2 00:28:23 | 显示全部楼层
不错支持下 半夜的大干肉 ,我啃了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-2 00:52:52 | 显示全部楼层
感动
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-2 06:21:49 From FishC Mobile | 显示全部楼层
不错,喜欢楼主的实干风格,放出来的都是干货!
玩python就是要玩点不一样的或者玩点实用的!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-9 12:06:32 | 显示全部楼层
请问下楼主,您使用的eavl函数是做什么的呢?我用会报错,还有一个问题,为什么我用soup.select('tbody >tr' )得到的东西和浏览器审查元素不一样?  新手求教 附件是我的代码,谢谢了
MBKU3IIR}3X6]IB5DV3F6UB.jpg
BUD$%OHJ`(}ZT%@6P076@W4.jpg
W`H`38M}5I_V_TIZ70ZM`$L.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-9 12:12:00 | 显示全部楼层
本帖最后由 gopythoner 于 2017-4-9 12:15 编辑
大补的小甲鱼粉 发表于 2017-4-9 12:06
请问下楼主,您使用的eavl函数是做什么的呢?我用会报错,还有一个问题,为什么我用soup.select('tbody >t ...


审查元素看到的跟源代码看到的不一样,要在源代码里面看,那个才是你请求到的网页信息
我这里eval()函数的作用是将字符串格式变成列表格式,因为得到的信息在字典里面,字典在列表里面,但是这个列表的格式是个字符串,所以需要转换一下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-9 17:44:17 | 显示全部楼层
gopythoner 发表于 2017-4-9 12:12
审查元素看到的跟源代码看到的不一样,要在源代码里面看,那个才是你请求到的网页信息
我这里eval() ...

非常感谢楼主的分享,我把您最后的代码修改为依次打开每首歌的链接,让后在那个页面里爬取歌曲数据。非常感谢楼主的指点。另外还有一个问题,楼主用什么分析这些数据得到top30 的呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-9 17:48:35 | 显示全部楼层
大补的小甲鱼粉 发表于 2017-4-9 17:44
非常感谢楼主的分享,我把您最后的代码修改为依次打开每首歌的链接,让后在那个页面里爬取歌曲数据。非常 ...

统计的过程都是在Excel里面完成了,数据透视表
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-9 18:20:11 | 显示全部楼层
gopythoner 发表于 2017-4-9 17:48
统计的过程都是在Excel里面完成了,数据透视表

好的,谢谢楼主分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-27 15:11:31 | 显示全部楼层
不知道代码在哪里啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-27 16:04:26 | 显示全部楼层
phthon_yw 发表于 2018-3-27 15:11
不知道代码在哪里啊

我后来把这个网页云歌单做成了一个桌面软件,具体的爬虫代码你可以看源码https://github.com/Hopetree/MyTools/tree/master/Music163List

然后,这个工具现在应该是用不了了,网易云的代码改动过的我记得,不过知道原理就行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-21 10:43:13 | 显示全部楼层
爬虫代码是完整的吗,怎么运行不出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-21 22:15:45 | 显示全部楼层
lxn-1362119486 发表于 2018-4-21 10:43
爬虫代码是完整的吗,怎么运行不出来

代码是去年写的,应该现在运行不了了,网页应该改了很多借口,如果你感兴趣的话可以按照这个思路去重新找借口,改改代码就行,代码主要是告诉你思路
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 18:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表