python爬虫抓取某易云音乐歌词,从此不在下载

252 阅读3分钟

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

以下文章来源于腾讯云 作者:企鹅号小编

( 想要学习Python?Python学习交流群:1039649593,满足你的需求,资料都已经上传群文件流,可以自行下载!还有海量最新2020python学习资料。 )
在这里插入图片描述

python爬虫库的选择

如果你已经了解一些python的基础,那不妨来搞点事情做,比如说做个爬虫,python的爬虫库相当的多,我建议初学者从requests库学起就好,为什么这么说,因为这个库对新手来说特别的友好,Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。

安装requests库

要安装 Requests,只要在你的终端中运行这个简单命令即可:pip install requests,前提是你已经安装好pip了。

发送请求

一开始要导入 Requests 模块:

import requests

然后,尝试获取某个网页:

r = requests.get(‘www.baidu.com’)

我们可以从r这个对象中获取所有我们想要的信息,但这也仅是 Requests 的冰山一角,requests的中文文档也很全,建议读一下,你会感觉这个库是真的好用,让我们来实战操作一下,可以让你掌握的知识有用武之地。

抓取网易云音乐的歌词

打开网易云随便点开一首歌,找到它的链接,比如:
在这里插入图片描述
网页地址栏那里就是当前音乐的地址,点击F12进入开发者模式,找到实际的歌词网址,红色箭头指向的才是它实际的网址:
在这里插入图片描述
python爬虫代码

下面这段代码是params,你可以直接复制到下面的代码中

fz7s/Zfb0YZFub+HjxWhGTCjvUmBeXpJB6pSTFhn/ffM0DNClA5LMv1JhWC8pi4WrAICWGMQlcVcV0zrsPaJZo8P4fq7mhieN43eP9iluDrDrCmFSwvCju7uYsPOn/qU','encSecKey':'33604d40f5300f64c2acc4f620fcb31f82c1dd5d04ef019f158c46f17b5c0b32ef129df6549cba55a71dec47bbb407120e59850a9c3380c98a06b6d087a56c169873ec930a55212314e9c91b56b4dedf6709e3ef7e7608055aa8511a6afbc31514f5fe353bbc3900e7a735f4d61263e4051a6c96afc0725187b21e6a7a38d5ce

下面这段代码是headers的代码,我的是谷歌浏览器

Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36

正式代码如下:

#首先导入用到的库import requestsimport reimport jsondef download_music(): #找入口链接,抓数据 lrc_url = 'http://music.163.com/weapi/song/lyric?csrf_token=' #这是需要传递的form data 和 headers 参数 data = {'params': params} headers = {'User-Agent': headers} #构造requests请求,传入它需要的参数 html = requests.post(lrc_url, data=data, headers=headers) #获取歌词,可以得到歌词字符串 json_obj = html.text #用json.loads方法把str转换成dict json_dic = json.loads(json_obj) #可以看到它是包裹在'lrc'>'lyric'中 lrc = json_dic['lrc']['lyric'] #利用正则把时间段替换掉 pattern = re.compilr(r'[.*]') lrc = re.sub(pattern, '', lrc) print(lrc) #调用download_music函数if __name__ == '__main__': download_music()

在这里插入图片描述
代码运行完毕

到这里代码就完成了,你可以自己试着敲一下,里面涉及到的知识点有点多,你可以去网上找一下正则和json方面的知识,了解一下。到这里这篇教程就结束了,下篇文章会给大家带来一样精彩的内容,喜欢的可以点个关注!!!

在这里插入图片描述