资讯专栏INFORMATION COLUMN

爬取网易云音乐某一个人的评论

LittleLiByte / 1542人阅读

摘要:下来后配置完成后执行将替换成网易云音乐用户的,等待结束后,表就能看到用户的评论了。

需求来源

上周六的时候和一朋友聊天,聊到网易云系列产品,不知不觉就说到了网易云音乐,我说了些产品细节的问题,比如说,为什么在我不开通会员的情况下,网易云音乐不允许我红心一个会员歌曲,没有购买 没有听歌的权利这是正常,但连点击喜欢的权利都没有却让我很是郁闷,在后面,我为此功能特意下载虾米音乐,发现虾米却是可以红心收费歌曲的,他一脸吃瓜相的看着我说,这种细节功能你都计较啊,然后说出了他自己对网易云音乐的不满,说到了为什么网易云音乐不能看自己或他人的个人评论,我看着他说,这功能哪有人用啊,再说,我要是真的想知道,我可以将这个人的评论爬出来的。这句话说完我就知道要出事情了,果不其然,我那朋友非要我帮他爬取下自己的个人评论,可是那一刻我在心里想,我怎么知道他评论了哪些歌呢?

然后在回去的路上,我一直在想这件事情,可以通过爬取这个人听过的歌的所有评论,然后找到这个人的评论,然后一直就陷入了一个死循环,我怎么获取这个人听过的歌曲呢,似乎是没有办法的。

思路转换

没有办法了,于是换了个思路去思考这个问题,为什么会评论一首歌曲呢,如果是我,我会怎么做,想了很久,我想只有自己比较喜欢的歌曲才会去评论的,于是想何不把这个人的喜欢的所有歌曲中的评论爬下来呢,索性扩大了范围,将这个人的所有个人歌单的歌曲的评论爬下来,然后将属于这个人的评论保存下来。

具体实践
接口分析

思路想好了,就去做,首先肯定是分析接口,结果却发现接口发生了变化,之前的接口是不进行加密的,现在的接口每次的请求都带上了 encSecKey 和 params 参数,显然是加密了,于是在 Github 上发现了这个,网易云音乐新版WebAPI分析,是 Python 实现的,重要的部分是 aesEncryptrsaEncrypt 两个加密的部分,完成这部分之后呢,后续工作就简单的多了。

实践方案

考虑到用户歌单歌曲数量比较多的情况,在爬取歌曲评论的过程中,开启多进程爬取是必要的,但又考虑到机器性能的原因,队列执行爬取功能也是必须的,不然机器可能在进程爆满的情况效率各方面实在是堪忧啊。

为了考虑以后其它新功能的开发,在此采用了 Laravel5.4 + PHP7.1 环境下的开发,需要安装php扩展bcmath, 一方面是 Laravel 开发的效率,另一方面 Laravel 在我提到的几个问题上面都有相应的解决方案,数据的爬取则是采用了 Laravelartisan 命令行,对于多进程则是采用了进程控制扩展 PCNTL,但同时这个多进程爬取的过程则是放到了 redis 驱动下的队列中,同时使用了 Supervisor 进行队列的监控,整个代码我已经开放到 Github。
clone 下来后配置完成后执行:

php artisan netease:playlist 123456

将123456替换成网易云音乐用户的 id,等待结束后,表 user_comments 就能看到用户的评论了。
具体操作可以查看 README.md 感兴趣的同学可以试着玩一玩,如果不是开发人员,可以私信我来爬取后再发给你,后续我会开发出线上的功能供大家使用。

这里我只是提供了个思路,有需要请自行爬取,有问题可以联系我。微信(w1113241948)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/23236.html

相关文章

  • 资源集 - 收藏集 - 掘金

    摘要:行爬取顶点全网任意小说掘金之前连续多篇文章介绍客户端爬取平台,今天我们从零开始,实现爬取顶点小说网任意一本小说的功能。文件标记所有文件我的后端书架后端掘金我的后端书架月前本书架主要针对后端开发与架构。 30行js爬取顶点全网任意小说 - 掘金之前连续多篇文章介绍客户端爬取平台(dspider),今天我们从零开始,实现爬取顶点小说网任意一本小说的功能。 如果你还不知道客户端爬取,可以先看...

    stdying 评论0 收藏0
  • 资源集 - 收藏集 - 掘金

    摘要:行爬取顶点全网任意小说掘金之前连续多篇文章介绍客户端爬取平台,今天我们从零开始,实现爬取顶点小说网任意一本小说的功能。文件标记所有文件我的后端书架后端掘金我的后端书架月前本书架主要针对后端开发与架构。 30行js爬取顶点全网任意小说 - 掘金之前连续多篇文章介绍客户端爬取平台(dspider),今天我们从零开始,实现爬取顶点小说网任意一本小说的功能。 如果你还不知道客户端爬取,可以先看...

    马忠志 评论0 收藏0
  • Python 从零开始爬虫(七)——实战:网易音乐评论爬取(附加密算法)

    摘要:通常这种加密都是通过加密的,所以首先要找到这个有加密算法的。追踪函数,发现它指向一个叫的函数,仔细研究许久后大概知道加密算法经两次加密获得,模式为,偏移量为。 前言 某宝评论区已经成功爬取了,jd的也是差不多的方法,说实话也没什么好玩的,我是看上它们分析简单,又没加密才拿来试手的。如果真的要看些有趣的评论的话,我会选择网易云音乐,里面汇聚了哲学家,小说家,story-teller,皮皮...

    plus2047 评论0 收藏0
  • 首次公开,整理12年积累博客收藏夹,零距离展示《收藏夹吃灰》系列博客

    摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...

    Harriet666 评论0 收藏0
  • selenium实战-同步网易音乐歌单到qq音乐

    摘要:对于这次的爬虫来说,由于网易云音乐以及音乐网页中大部分元素都是使用渲染生成的,因此选择使用来完成这次的脚本。可以发现网易云音乐的手机版歌单地址是。现在已经支持网易云音乐与音乐歌单的互相同步。 本文主要介绍selenium在爬虫脚本的实际应用。适合刚接触python,没使用过selenium的童鞋。(如果你是老司机路过的话,帮忙点个star吧) 项目地址 https://github.c...

    dailybird 评论0 收藏0

发表评论

0条评论

LittleLiByte

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<