python之爬取音乐

本文介绍了如何使用Python爬取音乐,包括选择目标网站、分析搜索方法,以及提供了一段示例代码,展示了如何通过输入歌曲名称和页数获取歌曲列表并下载指定歌曲。
摘要由CSDN通过智能技术生成

今天给大家的分享是爬取音乐。

老规矩,理一下思路:

1、选取目标网站;

2、分析搜索音乐的方法,找寻网址规律,解密请求方式;

3、将规律转化为python语言,写成代码。

选择目标音乐网站后,还是分析网址规律。简单的网址通过罗列多组比对差异性便可找到规律,但动态加密的网址就难以找到规律了,这个小编还未学习到,大家有需要可以自行查找资料。

废话不多说,直接上代码!!


import requests
import json

headers = {
    'User-Agent': '网页中复制,粘贴于此'
}

headers1 = {
    '网页中复制,粘贴于此'
}

headers2 = {
     '网页中复制,粘贴于此',
}

key_name = input('请输入你要查找的歌曲名称:')
num = input('请输入你要查看歌曲列表第几页:')

url2 = '网页中复制,粘贴于此'.format(key_name,num)

response = requests.get(url2,headers=headers2)  #访问歌曲列表
response.encoding = response.apparent_encoding  #这个apparent_encoding就是让系统根据页面来判断用何种编码
response = response.json()  # 得到josn字典dict
music_list = response["data"]["list"]  #得到歌曲列表
all_singers = []  #放置所有歌手人名
names = []    #放置歌曲名字
all_rid = []    #放置所有rid,rid是网页所需参数
a = 0
for music in music_list:
    #print(music)
    singer = music["artist"]  # 歌手名
    name = str(a) + "  " + music["name"]  # 歌曲名

    rid = music["musicrid"]     #取出rid,之后要对这个字符串进行切割
    rid = rid.split('_')[-1]

    all_singers.append(singer)  #将对应信息放到列表中
    names.append(name)
    all_rid.append(rid)
    a = a + 1
    #print(rid)
    print(name + singer + "---" +rid) #展示网页中搜索到的所有的信息
    
order = input("请输入歌曲前的序号:")  #选择要下载的歌曲

musicrid = all_rid[int(order)]   #提取目标音乐rid
url1 = '目标网址'.format(musicrid)
res = requests.get(url1, headers=headers1)  #访问歌曲列表
res.encoding = res.apparent_encoding
res = res.json()  # dict
res_url = res["url"]  #取出歌曲下载url地址
music = requests.get(res_url, headers=headers).content
with open(names[int(order)]+'.mp3', 'wb') as f:
    f.write(music)

所有的代码如上所示,各位小伙伴快自己动手尝试一下吧!!

最后,祝每位小伙伴都有收获~

关于Python学习指南

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

👉Python所有方向的学习路线👈

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

在这里插入图片描述

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python70个实战练手案例&源码👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉Python大厂面试资料👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

👉Python副业兼职路线&方法👈

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取保证100%免费

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,以下是使用Python进行音乐爬虫的一种方法: 1. 首先,你需要安装所需的Python模块。根据引用,可能需要使用的模块包括requests、beautifulsoup4和lxml。你可以使用以下命令来安装这些模块: ```shell pip install requests beautifulsoup4 lxml ``` 2. 接下来,你需要确定要爬取音乐的目标网站。根据引用,可以使用QQ音乐作为示例。你可以使用requests模块发送HTTP请求来获取网页的HTML内容。 3. 使用beautifulsoup4和lxml模块来解析HTML内容,以便提取出音乐的相关信息,例如歌曲名称、歌手、专辑等。 4. 根据你的需求,你可以选择将音乐下载到本地,或者直接播放音乐。 以下是一个简单的示例代码,演示如何使用Python爬虫爬取QQ音乐的歌曲信息: ```python import requests from bs4 import BeautifulSoup # 目标网页的URL url = 'https://y.qq.com/n/yqq/song/001qvvgF38HVc4.html' # 发送HTTP请求并获取网页内容 response = requests.get(url) html = response.text # 使用BeautifulSoup解析HTML内容 soup = BeautifulSoup(html, 'lxml') # 提取歌曲名称 song_name = soup.find('h1', class_='data__name_txt').text.strip() # 提取歌手 singer = soup.find('span', class_='data__singer_txt').text.strip() # 提取专辑 album = soup.find('a', class_='data__album_txt').text.strip() # 打印歌曲信息 print('歌曲名称:', song_name) print('歌手:', singer) print('专辑:', album) ``` 请注意,这只是一个简单的示例,你可以根据自己的需求进行更复杂的音乐爬虫操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值