python爬取音乐源码_手把手教你使用Python抓取QQ音乐数据(第一弹)

【一、项目目标】

获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名、专辑名、播放链接。

由浅入深,层层递进,非常适合刚入门的同学练手。

【二、需要的库】

主要涉及的库有:requests、json、openpyxl

【三、项目实现】

1.了解 QQ 音乐网站的 robots 协议

只禁止播放列表,可以操作。

2.进入 QQ 音乐主页 https://y.qq.com/

3.输入任意歌手,比如邓紫棋

4.打开审查元素(快捷键 Ctrl+Shift+I)

5.分析网页源代码 Elements,发现无歌曲信息,无法使用 BeautifulSoup,如下图所示,结果为空。

6.点击 Network,看数据在不在 XHR(无刷新更新页

面),我的经验是先看 Size 最大的,然后分析 Name,

查看 Preview,果然在里面!

7.点击 Headers,拿到相关参数。如下图,仔细观察

url 与 Query String Parameters 参数的关系,发现

url 中的 w 代表歌手名,p 代表页数。

8.通过 json 代码实现,首先小试牛刀,爬取第一页

的数据,url 直接复制过来。成功!

9.引入 params 参数,实现指定歌手、指定页数的查询。

注意代码url为上一步url中“?”之前的部分, params两边的参数都需要加 ’’,requests.get 添加 params,参数(也可顺便添加 headers 参数)

10. 添加存储功能,保存到本地(Excel)。也可保存为 csv 格式或存入数据库,操作类似。

【四、总结】

1.爬取 QQ 音乐比爬取豆瓣等网站稍难,所需信息不在网页源代码,需查看 XHR;

2.通过 XHR 爬取数据一般要使用 json,格式为:

res = requests.get(url)

json = res.json()

list = json[‘’][‘’]…

3.仅供练手参考,不建议爬取太多数据,给服务器增大负载;

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

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

相关文章

Java接口–历年来Java 9之旅–默认和私有方法

介绍 Java接口已经比Java版本进行了更多的演变,而Java 8和Java 9则有所发展。在本文中,我们将探讨接口在Java 8之前的样子以及如何在Java 8和Java 9中得到增强。 Java 8之前的接口 接口将具有一个或多个抽象方法,如下所示: publ…

信号与系统 chapter6 时变与时不变系统

时不变系统 通俗来说,就是输入延迟一段时间后,输出也延迟一段相同的时间。比如说一个示波器,你要给它上电显示波形,你就是示波器的输入,你一按下开关,它就马上亮了;下次你在开关上发呆5秒钟再按…

胆战心惊形容什么_胆战心惊的近义词

胆战心惊近义词: 不寒而栗( 注释:栗:畏惧,发抖。不冷而发抖。形容非常恐惧。)胆战心惊( 注释:战:通“颤”,发抖。形容十分害怕。)毛骨悚然( 注释:悚然:害怕的样子。汗毛竖起,脊梁骨发冷。形容十…

信号与系统 chapter7 因果与非因果

“因果”这个词常常在佛教里提到,比如有因才有果,放在信号与系统里就是你有输入才有输出,但是在所有的系统中你有输入就一定有输出吗?又或者是你有输出但没有输入,这样的系统如何称呼? 此类系统称为非因果系…

互联网和大数据是什么意思_何为互联网大数据?为什么每个人在数据的面前,相当于一丝不挂?...

何为互联网大数据?大数据背后核心迷局是什么?那通过下面一段对话,您可能就明白了。——必胜客店的电话铃响了。客服拿起电话:客服:您好! 请问有什么需要我为您服务?顾客:你好! 我想要…

ejb 2.1 jboss_JBoss AS7 JNDI和EJB 3.1命名更改

ejb 2.1 jboss由于“功能培训”继续前进,而我们又没有保持软件堆栈的最新状态,因此我们的团队发现自己处于不得不迁移的不利位置: JBoss 4.2.3到AS 7.1.x(当前为7.1.1) EJB 2.1到EJB 3.1 Hibernate2到Hibernate3或4…

信号与系统 chapter8 LTI连续系统的描述

我们这里对LTI系统的描述主要是用在电路分析上,我们一般先写出电路方程,对电路方程抽象以后得到微分方程 LTI系统的数学模型 这里注意一下电感上要求二阶导数,电阻上求一阶,然后为每一项分别写上系数,倘若读者到这里还…

安装jdk步骤rpm_jenkins rpm包方式安装

war包方式安装jenkins已经说过java openjdk的安装和注意事项,这里不做赘述前提:确保 java的jdk或者jre已安装#]java -version#]whereis java (whereis查看程序运行命令的)#]ls -lrt /usr/bin/java#]ls -lrt /etc/alternatives/java这里简单讲下which、wh…

使用ADF绑定创建视图对象行CreateInsert操作

在这篇简短的文章中,我将重点介绍与在任务流中创建新记录的一种非常常见的方法有关的一个小陷阱。 让我们考虑一个简单的任务流示例,该任务流创建一个新的VO行,如果用户单击“确定”按钮,则在页面片段上显示该行并提交事务&#…

信号与系统 chapter9 关于信号与系统中微分方程的求解

微分方程的求解 许多同学之所以觉得信号与系统难的原因之一就在于它的数学推导,特别是对于一些高等数学基础比较薄弱的同学来说,且不说后面的求解傅里叶变换部分,目前的LTI连续系统微分方程的求解,已经是的有的同学感到云里雾里。…

jpa 托管_Spring Boot-不是托管类型

我使用Spring boot JPA,启动服务时遇到问题。Caused by: java.lang.IllegalArgumentException: Not an managed type: class com.nervytech.dialer.domain.PhoneSettingsat org.hibernate.jpa.internal.metamodel.MetamodelImpl.managedType(MetamodelImpl.java:21…

信号与系统 chapter10 系统的初值问题与系数匹配法

系统的初值问题就是让你求一下系统在0时刻的y(t)y(t)y(t)函数 我们看到它要我们求关于t0t0t0时刻的一些参数,我们这里首先就要想到冲激函数,为什么?因为冲激函数最特殊,它的特性就是在0时刻才有定义,才有值&#xff0…

信号与系统 chapter11 LTI系统的响应

我发现好多人都喜欢写“LTI连续系统”,殊不知LTI的全称就是LinearTimeInvariantSystemsLinear Time Invariant SystemsLinearTimeInvariantSystems,已经写出线性连续时不变了,就不要再翻译中画蛇添足了。 言归正传,前面我们分析的…

lora终端连接云服务器_终端连接服务器主机

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":6,"count":6}]},"card":[{"des":"云服务器 ECS(Elastic Compute Service)是一…

通过函数式编程实现动态对话框处理程序

在我以前的文章中,我提到了一个常见的用例,当我们需要以编程方式检查当前事务是否脏了,并在做某件事之前通知用户有关该事务的信息。 就像“您有未保存的更改将丢失,要继续吗?”。 假设我们需要在应用程序的许多位置&…

数字通信系统的组成框图

通信系统组成框图有两种,一种较为简略,为广义上的通信系统;一种比较全面,为数字通信系统,现整理如下: 简略版: 信源→发送设备→信道→接收设备→信宿信源\rightarrow 发送设备\rightarrow 信道…

哨兵一号数据snap预处理_利用SNAP软件进行Sentinel-1A卫星微波影像的预处理

利用SNAP软件对雷达影像进行预处理,主要包括热噪声去除、轨道文件校正、辐射定标、滤波校正、多普勒地形校正,最终获得入射角和后向散射信息。数据:本次实验所用数据为哨兵一号(Sentinel-1A)干涉宽幅模式(Interferometric Wideswath&#xff…

Spring Boot&Angular 5&Spring Data&Rest示例(CRUD)

本教程提供了Spring Boot,Angular 5和spring数据的完整实现,以示例为例构建端到端的单页Java Web应用程序。我们将使用Spring Boot 1.5公开REST API和angular5并通过路由来构建我们的客户端不仅要消耗服务器公开的API,还要将MySql数据库与后端…

信号与系统 chapter12 卷积及其性质

卷积的概念 卷积算得上是信号与系统里面一个比较抽象的概念,它广泛应用在统计学、工程学,好多人明白了怎么做题,却仍然说不清楚卷积的概念,我们把它当作一种运算,它的运算形式如下: 有f1(t)f2(t)f_1(t)f_2…

第二章导数与微分思维导图_线性代数第二章 矩阵 思维导图

这章内容复习集中在两方面:矩阵乘法;可逆矩阵及相关内容(矩阵方程和伴随矩阵)。可逆矩阵是全课程的一个关键性概念,与各章内容都有联系,应着重注意这些联系。