今天给大家的分享是爬取音乐。
老规矩,理一下思路:
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%免费
】
![](https://img-blog.csdnimg.cn/img_convert/641aee7a7cd76caca2729cad04946fb6.jpeg)