教你如何用Python抓取QQ音乐歌单及分析

学了python也有一段时间了,对于爬虫,后端的框架也有一些了解,但是都是在学习的时候跟着别人写的,感觉都不是自己的知识一样。我去年就给网易云音乐提了一个建议,就是通过播放量或者一个受欢迎程度来排序,然而肯定是没有管我的,随着网易云音乐的版权问题,现在又开始使用QQ音乐了,当然它依然没有这个功能。所以就只有自己动手解决了~

目的

首先抓取这些歌单,一是为了让自己在没有歌听的时候从播放量高的歌单里选一些来听,二是自己动手抓取一下数据,并简单的分析,熟悉技术。所以我需要知道至少需要歌单名,歌单播放次数,之后再分析都是什么类型的时候需要标签,但是这个不一定准确,所以也就加上去仅供参考。最终需要的数据就有:

 

爬取QQ音乐歌单

首先给出源码,下文中就不再贴代码,因为爬取数据的代码没什么复用行,而且实现方式多种多样,主要是实现思想。下文中就以解决踩到的坑为线索来实现目的。

打开QQ音乐网页版的分类歌单界面,乍一看,一分析网页源码,看到下图:

 

找到这里我以为和普通的爬取数据一样,直接看其标签的内容就能抓去完成了,是的不踩一下坑都不知道有多深。是的显然失败了,一条数据都没有。打印一下访问的网页,查找一下这个class的名字,发现居然没有,是的我就这样掉坑里了。

那么看来它就是使用动态填充的,那么它肯定就调用了接口,请求数据,那么就去找,在检查里的network中找啊找,最终找到了它:

 

这个接口的寻找不知道技巧,请知道的不吝赐教。

到这里得到了大部分数据,歌单名,作者名,播放次数,创建时间都有了。也就是说,只有标签和介绍没有,这个数据通过每一项点进详情里边就能发现,这次我聪明了,没有再直接写,先去找获取详情的接口,毕竟qq音乐这种大厂的产品肯定是技术统一的,这里的数据肯定也是填充的,功夫不负有心人,让我找到了~

 

是的从这个数据里边就找到了标签和介绍。

看着短短的几句话,就找到了,其实这个过程我不知道技巧,所以还是耗费了不少时间,也是因为不熟悉吧。

然后就是分页获取全部歌单数据,既然每一页它是调的接口就更容易了,我在第二页去查看第二页请求数据的接口,和第一页的比较,发现其实就是最后两个参数(sin(开始)和ein(结束))引起的变化。在观察这个接口的参数的过程中发现他的rnd这个参数是在变化的,所以在请求每页的数据的时候这三个参数是需要动态改变的。

然后我就重新编码,获取数据,处理数据编程json字符串格式,再转为字典,然后遍历获取到需要的数据。写完执行发现接口访问不了,这时候想起来可能是header需要加参数,再去看那个数据,避免错误就把几乎所有的参数都加上了,其中我觉得referer比较重要。对于referer每一页的接口都是可以来自歌单首页,但是对于详情来源就是详情页,参数带有歌单的id,这个id正好可以从每页的每一项的数据中拿到,所以动态改变就行了,最后删掉一些不是很重要的参数,例如这里我只删除了loginUin。

然后写上代码,经过调试,终于成功了。

最后我把它保存成一个csv文件,通过播放量排序,截取前20,得到了下图:

 

到这里数据的爬取工作已经完成。

分析数据

数据拿到后,在上边已经简单的处理了以下数据,就是看看播放次数前20的歌单。

接着我想看看播放次数的大致分布情况,例如播放5000万次以上有多少,1000万,500万,100万,50万,10万以上以及10万以下,都有多少。然后绘制成柱状图,看看是什么情况。

是的,对于这个数据的处理,就用到了numpy和pandas以及matplotlib。经过分析得出下图结果:

播放次数分析

 

很直观的看到高于500万播放次数的歌单是少数的。按比例来看的话,能明显看到10万以下的歌单有2300多个,还是比较多的,之后再进一步分析这2300多个歌单的创建时间的分布,这里就不继续分析了。

标签分析

对于标签什么的,以下我就想到了使用词云,就能直观的看到哪些词出现的次数多。歌单都主要是什么类型的比较受欢迎。编码后得到如下结果:

 

 

可能直接这样看能大概知道哪些多,但是还是不是很能分得很细,我又排了个序,下边列出降序排列前十的标签~

 

先就分析这么多,等有空再分析一下创建时间的分布情况。


END

公众号:程序员二黑,获取软件测试资源(面试题,PDF文档,视频教程)

好东西要和朋友一起分享哦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/24859.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用python爬取音乐APP歌单

这篇文章,我们就来讲讲怎样爬取歌单,并且播放量从高到低排列,下面是爬取结果 一 核心代码如下 1.需要导入的包有 from urllib import parse from lxml import etree from urllib3 import disable_warnings import requests2.设置请求头部信息…

这几款音乐人必备的软件,你了解吗?

近几年随着各种关于音乐的综艺节目和自媒体盛行,音乐变得更加贴近民众。除了歌手以外的,音乐生产工作中的其他角色,例如编曲师、混音师、母带师等也渐渐走进大众的视野。 EarMaster:souurl.cn/b6rSSt Guitar Pro:sou…

某某星图sign参数解密分析

​ 大家好,我是TheWeiJun,欢迎来到我的公众号。今天给大家带来星图sign参数的解密分析,希望大家能够喜欢。如果你觉得我的文章内容有用,记得点赞👍🏻关注! 特别声明:本公众号文章…

苹果发布黄色版 iPhone 14,定价 5999 元起;大神李沐被曝离职投身大模型创业;Atlassian 裁员 |极客头条

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&…

神经网络中的损失函数

在《神经网络中常见的激活函数》一文中对激活函数进行了回顾,下图是激活函数的一个子集—— 而在神经网络领域中的另一类重要的函数就是损失函数,那么,什么是损失函数呢? 损失函数是将随机事件或其有关随机变量的取值映射为非负实…

Sam Altman 最新访谈:谈谈 AI 的未来,还有中国 AI 发展现状

Sam Altman最新访谈:这次他更结构化地谈了AI的未来,还有中国AI现状 目录 Sam Altman最新访谈:这次他更结构化地谈了AI的未来,还有中国AI现状 划重点:

苹果发布黄色版 iPhone 14,定价 5999 元起;大神李沐被曝离职投身大模型创业;Atlassian 裁员 |极客头条...

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&#…

正在改变一切的Ai聊天机器人

ChatGPT通过Al生成的内容让我们眼花缭乱,从一个聊天机器人转化成推动一个创新时代的技术,但,也并非人人都知道,那么,你知道Chatgpt到底是什么吗? 文章目录 前言一、什么是Chatgpt?二、如何使用C…

人工智能、机器学习、深度学习、神经网络概念说明

目录 1.机器学习的范围2.机器学习的方法2.1回归算法2.2神经网络2.3 SVM(支持向量机)2.4聚类算法2.5降维算法2.6推荐算法2.7总结 3 机器学习的分类3.1 监督学习3.2 无监督学习3.3 强化学习 4 机器学习模型的评估5 机器学习的应用 6 机器学习的子类--深度学…

chatgpt赋能python:处理超大文本文件的Python技巧

处理超大文本文件的Python技巧 在今天互联网时代,我们每天都会处理大量的数据。有些数据集非常庞大,可能包含数百万行甚至数十亿行。其中最常见的就是文本文件。如何在Python中高效地处理超大文本文件呢?在本文中,我们将提供一些…

chatgpt赋能python:Python文本段落提取:优化文章阅读体验

Python文本段落提取:优化文章阅读体验 在阅读长篇文章时,我们往往需要快速地找到自己感兴趣的内容,这就需要滚动查找。但是如果一篇文章没有明确的章节分析和标记,那么这个查找过程就会变得非常麻烦。因此,一些文本段…

chatgpt赋能python:Python文本纠错:改善你的SEO和文字质量

Python文本纠错:改善你的SEO和文字质量 作为一名有10年Python编程经验的工程师,无论是对于数据分析还是自然语言处理,我都有自己独特的编程技巧和工具。在这篇文章里,我将和大家分享使用Python进行文本纠错,从而改善你…

机器学习面试手册.PDF

点击上方“AI遇见机器学习”,选择“星标”公众号 第一时间获取价值内容 分享《机器学习面试手册》 ,文末提供 高清PDF下载方式。 内容概览 Preparing for Coding Interviews Imbalanced Data in Classification Bayes Theorem and Classifier Convolutio…

最难毕业季,会Python简直可以开挂!

上半年,“史上最多毕业生1076万”冲上热搜,阅读量达4.6亿次,众多应届大学生感叹想要成为打工人竟如此艰难! 不仅如此,前几天上线的《怎么办,脱口秀大会》中,知名辩手、武汉大学新闻与传播学院讲…

Midjourney入门指南:简单提示词,搞定高质量应用设计

Midjourney是一款文本到图像的AI工具,可以根据纯文本描述生成图片,例如UI屏幕、应用程序图标、产品图片、标志和吉祥物等。虽然它不能替代UI设计师,但它可以在产品设计和视觉探索的早期阶段成为有帮助的工具。要使用Midjourney,您…

Google公布2022年度最热门Chrome扩展

Google 从去年开始一直在大力推行 Manifest V3 扩展,虽然遭到了不少外部阻力,但这并没有影响 Chrome 扩展程序生态的繁荣。那么在过去一年,有哪些扩展脱颖而出,获得了 Google 和用户的青睐呢?日前,Google 就…

《写给Python程序员的GPT指南》.pdf

点击上方“Python与机器智能”,选择“星标”公众号 第一时间获取价值内容 分享新书:《写给Python程序员的GPT指南》 ,文末提供高清PDF下载! 通过学习,可灵活使用OpenAI GPT-3、GPT-4、DALLE 2等模型开发AI应用&#xf…

【壁纸】(可商用) 70枚壁纸高清免费

小样上有分辨率尺寸,可以参考,欢迎下载。 查看付费内容 文字20个图片6张 评论推荐Ta

应届生求职简历HTML模板

优秀的简历需要具备哪些要素?1、逻辑清晰、有条有理。HR面临的动辄几百上千份简历,简历需要在5秒内让HR能够get到所有重要信息。2、重点突出,简历有亮点用成绩说话!奖学金,荣誉奖项等内容必不可少。3、目标明确&#x…

word论文公式编号排版

中文论文公式一般需要添加序号,并且保持公式居中,序号右对齐的排版格式。这里记录一下使用word排版公式的方法。 排版主要使用制表位的方法,就是将word中一行分割成三个部分。主要分为三个步骤: 1.编写公式及编号 公式编写就是采…