[网易云音乐] 热评的故事。

/ 0评 / 0

    在这次之前学习API的时候发现了一些事情,我利用网易云音乐的API实现了一些简单的歌曲搜索、封面图片的爬去之类的无聊事情。而最近在使用网易云的时候发现自己已经使用网易云整整两年了(顺便思考了一下我的手机为什么装一个APP这么久。连原来的QQ都被卸载了,而网易云依旧在)自己在这两年里成长了许多。而之前在16年初的时候网易云曾针对每一个用户做出一个数据报表:其中包括了播放量TOP10和听歌最久日,最晚听歌使时间和日单循环次数、点赞次数这些东西,当时这个报表其实挺受大家欢迎,而更多的是网易云特有的评论区环境,使用网易云音乐的人大多都是90后,00后。庆幸的是云音乐的讨论区没有成为贴吧知乎那样的气候。但是究竟是怎样的评论吸引着我们这些年轻对着一个 APP放不下手?(不谈音乐,怕大手子 2333),所以就本着这样的目的我尝试去做了:


    开始征程吧:

    在这之前我有写过关于API的一点东西:API简介和网易云音乐API 其中有提到一些简单的处理办法。而面对大批量的歌曲(目前我听了5800首)这样的方法早已失去其使用的价值和理由,所以得采取新的办法。在这之前我得理清一些东西:首先网易云获取用户听歌量肯定离不开用户ID。而评论的获取则之和歌曲id有关。

从歌单开始:

    首先我参考了一下别人写的自用性的文档:https://github.com/darknessomi/musicbox/blob/master/

    因为是我听过的歌曲:我现在的歌单数目27个。外加收藏的歌单37个 所以:http://music.163.com/api/user/playlist/?offset=0&limit=64&uid=我的id 

    这样一来我就拿到了我所有的歌单。现在要做的就是拿到这些歌单中所有的歌曲id。

    

    干这件是之前要做的就是:解析json,拿到list的id号。

    这样我就将所有歌单的id存入了ids列表当中,而接下来就是将列表当中的歌曲id和歌曲name获取。

    http://music.163.com/api/playlist/detail?id=歌单id 这样一来我就拿到了所有的歌曲:


    依旧是处理json数据。

    拿到了所有歌曲的id和name(其实只要id就好我,我只是采集评论。name的话用不着的)下一步就是最重要的几部了

获取评论

    来到这一步之后我要做的事情就是将所有歌曲的id挨个遍历,查看评论,依旧是解析 json,然后存入数据库当中,最终程序如下:

   因为有API访问次数的限制,好像一次采集不完:


    但是我不会这样轻易的狗带(滑稽) 而上面的程序依旧存在着巨大的问题,入库其实是无法运行的,由于没有设定请求头的缘故导致很多请求被视为作弊请求,状态码是460,所以我测试了一下单独用浏览器请求发现不受限制:哈哈哈哈

    这样一来 一定程度解决了一些问题,但是次数还是不能太频繁,应该是服务器端有次数限制-。而这里最终我把数据处理之后保存为cvs,初级处理也就做完了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注