buluo533 发表于 2024-8-1 21:42

音乐爬虫分析

上次做了一个下歌的爬虫,有大佬想了解思路,直接安排上


上次兄弟们玩的有点狠,这次不放源码对全部思路和过程进行分析,仅供学习交流{:1_893:}
随便找个下歌的网站,我是随便搜的
网址:爱听音乐网_Mp3歌曲下载_无损音乐下载_免费音乐网_LRC歌词下载站 (1nzb.com)
有了网址我们就可以对搜索的接口分析,看他的参数怎么传入,实现搜索


简单搜索一下



可以看到的是,接口是https://www.1nzb.com/search?ac,通过ac传入搜索的关键词:周杰伦
这样就可以写出第一次请求的url地址,同时通过关键字进行自己需要的搜索import requests
from bs4 import BeautifulSoup
from fake_useragent import UserAgent

ua = UserAgent().random
url = 'https://www.1nzb.com/search?ac=周杰伦'
headers = {
    'User-Agent':ua
}
response = requests.get(url, headers=headers)
这里为了方便测试先将请求url写死
然后根据页面信息进行解析


可以清晰的看到需要的数据所在的位置li标签里面a标签,这个里面有点小坑就是名字不好处理
接下来就是通过汤勺(soup)进行解析
soup = BeautifulSoup(response.text, 'lxml')
lists=soup.select('ul.mul li')
这里定位到所有的li标签,接下来就是用for循环遍历获取li标签的中的内容
首先获取a标签的属性href,得到一个url地址,但是这个地址需要拼接才能访问,拼接https://www.1nzb.com,需要注意的是/的数量
接下来获取歌曲的名字,我们可以注意到每个名字前都要一个‘-’,我们可以利用正则也可以利用split函数进行分割
代码如下:
for li in lists:    produce_url='https://www.1nzb.com'+li.find('a').get('href')
    song_name=li.find('a').text.split('-')

这样我们可以放一个空字典,让歌曲名字和下载网址作为键值对相互对应,实现输入歌曲名字就可以进入下载的地址,输入哪一首歌名就下载哪一首
dic=produce_url
注意dic是需要提前定义的
接下来就是解析produce_url作为下载的路径

网站很友好(大家下手也友好一点,加点延时),可以直接用re或者bs解析,我们也看看网页元素是什么情况

这个获取还是很简单的,爬虫的基本功
down_url=soup.find('input',class_='layui-input').attrs['value']
这样就获取到了mp3下载的url,接下来就直接请求下载
music=requests.get(down_url,headers=headers).contentwith open('music.mp3','wb') as f:
    f.write(music)

一个简单的爬虫步骤分析,大佬们勿喷{:1_893:}
提供给想了解的小白






不忘形影 发表于 2024-8-2 09:10

感谢大佬的分享,最近转战Python,在学习中,从你的第一篇文章:DrissionPage自动化爬取某音评论区,关注你了,感谢你的持续分享,特别是这种一步步分析,给我了很多启发与指导

yyq123 发表于 2024-8-1 21:44

感谢分享

skyapplezhao 发表于 2024-8-1 21:48

感谢分享

clemmenson 发表于 2024-8-1 21:59

感谢楼主分享,非常有价值

xueyinglantian 发表于 2024-8-1 22:00

楼主真心细节,谢谢分享,膜拜

windindind 发表于 2024-8-1 22:01

感谢分享

hygqx6 发表于 2024-8-1 22:08

思路清晰啊,是不是可以直接源码查询,找下载地址,直接搜源地址呢?

buluo533 发表于 2024-8-1 22:15

hygqx6 发表于 2024-8-1 22:08
思路清晰啊,是不是可以直接源码查询,找下载地址,直接搜源地址呢?

可以的:victory:有些细节还需要自己完善,我没有写在文章里

Jiea 发表于 2024-8-1 22:19

学习学习

zhangxiaoxiao 发表于 2024-8-1 22:20

学习了,谢谢楼主
页: [1] 2 3 4 5
查看完整版本: 音乐爬虫分析