0131单首爬取酷狗免费音乐

这个是爬取免费的音乐,目前收费的我还不会,只有1min的试听

1.找到我们要爬取的歌曲

进入酷狗的官方网站,找一首你想爬取的歌曲进入到播放界面

按f12打开开发者工具,在这个路径:Network→Media

下找到后缀为mp3的接口(没有这个的刷新网站,或者拖动进度条就会出现...........如果一直不出现可以直接按ctrl+f搜索mp3找到下面图片中箭头指向的接口)。

2.找到歌曲的url地址

复制画红线的这一块,按ctrl+f粘贴到搜索框中进行搜索

点击图片中箭头指向的

我们可以在preview中看到歌曲的信息

Header里的框中内容是音乐的url地址(后面的是参数,这里我们的url只需要这一小部分的就行)

在payload中可以看到相关的参数

此时我们已经知道了我们需要爬取内容的基本信息可以写代码了。

1.进行伪装

headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36'}

2.输入url

url='https://wwwapi.kugou.com/play/songinfo'

3.输入参数(payload里的参数复制过来,转换成字典的格式)这里提供一个方法

选中复制过来的参数

在pycharm中按Ctrl+R

源匹配为(.*?):(.*)
替换匹配为 "$1": "$2",

复制过来的参数可能在值前有空格可能会报错,需要删除掉

4.我们冲这个接口可以知道是get请求,所以我们需要requests库来进行get请求获取网站的源头代码

import requests

response = requests.get(url,params=data,headers=headers)
json_data = response.json()
print(json_data)###检测是否爬取到香港管内容,可以删除掉

可以看到我们已经爬取到了相关内容

3.解析爬取到的源代码

#获取歌曲的名字

我们可以看到在preview下data下audio_name有其名字

music_name =json_data['data']['audio_name']
music_url = json_data['data']['play_url']
print(music_name,'\n',music_url)

 获取歌曲内容&&保存到文件

#
music_content = requests.get(url = music_url,headers=headers).content

# #保存到文件中
with open('music\\'+music_name+'mp3','wb') as f:
    f.write(music_content)

以下是使用Python爬虫爬取酷狗音乐的步骤: 1. 分析酷狗音乐的网页结构,找到需要爬取的数据所在的标签和类名。 2. 使用requests库发送HTTP请求,获取酷狗音乐网页的HTML源代码。 3. 使用BeautifulSoup库解析HTML源代码,提取出需要爬取的数据。 4. 将数据保存到本地文件或数据库中。 下面是一个简单的示例代码,演示如何爬取酷狗音乐的排行榜: ``` import requests from bs4 import BeautifulSoup # 设置请求头,模拟浏览器访问 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} # 发送HTTP请求,获取HTML源代码 url = 'http://www.kugou.com/yy/rank/home/1-8888.html?from=rank' response = requests.get(url, headers=headers) html = response.text # 解析HTML源代码,提取数据 soup = BeautifulSoup(html, 'html.parser') songs = soup.select('.pc_temp_songlist > ul > li') # 遍历歌曲列表,输出歌曲信息 for song in songs: rank = song.select('span.pc_temp_num')[0].text.strip() name = song.select('a')[0].text.strip() singer = song.select('a')[1].text.strip() album = song.select('a')[2].text.strip() print(rank, name, singer, album) ``` 上述代码中,我们使用了requests库发送HTTP请求,获取酷狗音乐网页的HTML源代码。然后使用BeautifulSoup库解析HTML源代码,提取出排行榜中每首歌曲的排名、歌曲名、歌手名和专辑名,并输出到控制台。 你可以将这些数据保存到本地文件或数据库中,以便后续分析和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

...Rain...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值