常用的音乐推荐系统的数据集可以推荐一下吗,国内的有吗。或者有Python爬虫方法爬取数据集的可以指点一下吗?
5条回答 默认 最新
檀越@新空间 2024-04-28 08:33关注上午好☀️☀️☀️️
本答案参考ChatGPT-3.5常用的音乐推荐系统的数据集有哪些?是否有国内的数据集?如何通过Python爬虫获取数据集?
- 常用的音乐推荐系统的数据集大多来自于以下几个渠道:
- Movielens: 是一个建立于明尼苏达大学的电影评分数据集。Movielens数据集的最新版本也包括音乐部分:MusicLens。
- Last.fm: 这是一个音乐推荐最为著名的数据集。Last.fm平台因其独特的音乐推荐系统而闻名,其数据是所有音乐推荐领域的研究人员的首选。
- Million Song Dataset:Million Song Dataset 是一个庞大的、容纳不同音乐风格和流派的音乐的数据集,在各大音乐数据集中占有重要地位,能够让用户获得各种各样的音乐曲目。
- Echo Nest:Echo Nest 是一个能够提供大量音乐数据的文本分析平台。一些流派、音乐家最为熟悉的数据集来源之一就是Echo Nest平台。
- 国内的数据集可以自己爬取,以下是简要步骤:
- 找到数据来源网站
- 了解网站数据爬取规则
- 使用Python爬虫进行数据爬取(如使用BeautifulSoup或者Selenium等库)
- 对爬取得到的数据进行处理(如使用Pandas导入数据)
- 代码示例:
import requests from bs4 import BeautifulSoup import pandas as pd url = 'https://music.163.com/discover/playlist?id=3778678' cookies = '自己填写cookies' headers = { 'User-Agent': '', 'Cookie': cookies, } r = requests.get(url, headers=headers) soup = BeautifulSoup(r.content, 'html.parser') name = soup.find('h2', {'class': 'f-ff2 f-brk'}).string songs = soup.find('ul', {'class': 'f-hide'}).find_all('a') data = [] for song in songs: song_name = song.string song_url = 'http://music.163.com/song/media/outer/url?id=' + song['href'].replace('/song?id=', '') + '.mp3' data.append([song_name, song_url]) df = pd.DataFrame(data, columns=['song_name', 'song_url']) df.to_csv(name + '.csv', index=None, header=None)评论 打赏 举报解决 1无用