【爬虫新手必看】歌曲网站爬虫案例详解

查看 77|回复 9
作者:taoyuanhang   
项目链接:https://www.gequbao.com/
动机:大部分的音乐需要VIP才可以听,并且下载也要VIP。
所以,我想找一个不用VIP就可以听歌的音乐站,这不,就让我找到了?
最近见到什么网站都想爬一爬,所以想先拿这个网站练练手
由于我是一边分析一边写的,所以文章会长一点,新手可以慢慢看,代码写完会放在下面的,不要着急~
首先这个网站是长这样的:
[i]
然后我随便点击了一首歌曲,它的页面是这样的,没有在新标签页打开,并且刷新了,如图
[i]
所以我猜这个用的不是Ajax接口,而是由服务器渲染再返回客户端的
点击f12,刷新,我猜的果然没错
[i]
这种的话我比较喜欢用正则表达式,到时候不行再用xpath,因为正则表达式比较简单。(我的意思是我个人比较喜欢,并不是说xpath不好)
好的,我们这个主要是下载歌曲,并不是获取它的歌名、歌手等,咱们主要的目的不是自动下载吗?
[i]
这里的下载并不是直接下载了,而是访问歌曲的主页,那我们就去主页看看
这里的歌词和歌曲是分开的(像极了B站的音视频分开)
[i]
这边审查元素发现下载链接已经很明显了
[i]
我们尝试直接访问链接,好家伙,这还不是真正的下载,而是在新标签页打开歌曲,没事,这个requests可以解决的
[i]
等一下,突然发现这个是酷我音乐的外链。。。
没事没事,反正外链在手,可以下载就行
开始编写代码啦!

爬虫, 歌曲

shaunkelly   

============== RESTART: C:/Users/Administrator/Documents/gq001.py ==============
Traceback (most recent call last):
  File "C:/Users/Administrator/Documents/gq001.py", line 1, in
    import requests
ModuleNotFoundError: No module named 'requests'
taoyuanhang
OP
  


gzl5755 发表于 2023-9-3 09:59
您好!这个方法可以下载网抑云音乐吗

[Python] 纯文本查看 复制代码with open(f"{input('歌名:')}.mp3",'wb') as i:   
    i.write(__import__('requests').get(f"http://music.163.com/song/media/outer/url?id={input('请输入网址:')[32:]}.mp3").content)
xxsm10   

看上去挺有意思的。等有空时试试。
gzl5755   

您好!这个方法可以下载网抑云音乐吗
scbzwv   

感谢分享
shaunkelly   

厉害,还得先分析才能写代码
ZYLB2023   

好好学习
dtsuifeng   

我也去爬一爬。
shaunkelly   

pip install requests
要安装一下模块
您需要登录后才可以回帖 登录 | 立即注册

返回顶部