Python爬虫获取网易云音乐 我的喜欢歌单 歌曲数据 您所在的位置:网站首页 网易云有个歌单推荐自己喜欢的歌叫什么 Python爬虫获取网易云音乐 我的喜欢歌单 歌曲数据

Python爬虫获取网易云音乐 我的喜欢歌单 歌曲数据

2024-07-07 11:21| 来源: 网络整理| 查看: 265

需求:突然奇想,获取网易云音乐 我的喜欢 歌单音乐数据

获取歌曲详情 如标题,歌手,时长,专辑等等

思路: 爬虫请求url 获取数据,找到对的链接请求就成功了一半,查看返回数据,然后保存数据(歌曲+歌手 拼接完成),也可以进行下载之类的操作,爬虫进行伪装,增加Referer头,User-Agent等等

工具: Python3.7 + Pycharm 模块: BeautifulSoup + requests + lxml

1、 打开网页版网易云音乐 第一步 2、 打开 我喜欢的音乐(点击第一步中的头像图片即可进入) 第二步 3、 打开调试工具(浏览器上方的链接不可信,要自己找歌曲列表链接) 第三步 4、 查看返回的数据 第四步 5、 目前仅返回有限的数据,开始撸代码

import requests from bs4 import BeautifulSoup import urllib.request from lxml import html etree = html.etree headers = { "Referer": "https://music.163.com/", "Host": "music.163.com", "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edg/81.0.416.72", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9" } # 歌单url 通过网易云获取自己的链接 play_url = "https://music.163.com/playlist?id=******&userid=******" # 请求url response = requests.get(play_url, headers=headers).content # 使用bs4匹配出对应的歌曲名称以及地址 s = BeautifulSoup(response, "lxml") main = s.find("ul", {"class": "f-hide"}) # print(main.find_all("a")) lists = [] for music in main.find_all("a"): music_list = [] musicUrl = 'http://music.163.com/song/media/outer/url' + music['href'][5:] + '.mp3' musicName = music.text music_list.append(musicName) music_list.append(musicUrl) # 全部歌曲信息放在lists列表中 lists.append(music_list) # lists = str(lists) # 保存歌曲名称以及歌曲url with open("music_list.txt", "a", encoding="utf-8") as f: f.write(musicName + "-" + musicUrl + "\n") # 下载列表中的全部歌曲,并以歌曲名命名下载后的文件,文件位置为当前文件夹 """ for i in lists: url = i[1] name = i[0] try: print('正在下载', name) #这里修改路径,随便指定盘符 urllib.request.urlretrieve(url, 'F:/歌曲/%s.mp3' % name) print('下载成功') except: print('下载失败') """

总结: 只能说获取到一些数据,而且写法粗糙,也没有封装函数等,由于嵌套网页iframe的原因,使用js生成的数据,暂时没有办法去获取到,需要进行研究研究(想要直接保存网页,然后进行提取数据,但是没有正确的请求接口),若有不足,虚心请教 在这里插入图片描述

参考链接:https://www.jianshu.com/p/4e96f8466261 参考链接2:https://blog.csdn.net/qq_43590972/article/details/101344918



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有