Grooveshark音乐流媒体服务已经被关闭,没有事先通知。我有很多播放列表需要恢复(这些播放列表是我在几年中创建的)。
有没有办法可以恢复它们?一个脚本或自动化工具会非常好。
Grooveshark音乐流媒体服务已经被关闭,没有事先通知。我有很多播放列表需要恢复(这些播放列表是我在几年中创建的)。
有没有办法可以恢复它们?一个脚本或自动化工具会非常好。
更新 [2018-05-11]
自从发布此答案以来已经过去了三年,似乎这个脚本不再起作用了。如果您仍然需要恢复旧的Grooveshark播放列表,可能已经不可能了。祝你好运,如果你找到了一种方法,请在这里分享!我将很乐意接受您的答案。:-)
我制作了一个脚本,可以尝试查找用户创建的所有播放列表,并将它们下载为 CSV 文件存储在输出目录中。该脚本是用 Python 编写的。
python pysharkbackup.py "my_user_name"
)。您注册 Grooveshark 时使用的电子邮件地址也应该可以。./pysharkbackup_$USERNAME
。以下是脚本:
#!/bin/python
import os
import sys
import csv
import argparse
import requests
URI = 'http://playlist.fish/api'
description = 'Download your Grooveshark playlists as CSV.'
parser = argparse.ArgumentParser(description = description)
parser.add_argument('USER', type=str, help='Grooveshar user name')
args = parser.parse_args()
user = args.USER
with requests.Session() as session:
# Login as user
data = {'method': 'login', 'params': {'username': user}}
response = session.post(URI, json=data).json()
if not response['success']:
print('Could not login as user "%s"! (%s)' %
(user, response['result']))
sys.exit()
# Get user playlists
data = {'method': 'getplaylists'}
response = session.post(URI, json=data).json()
if not response['success']:
print('Could not get "%s" playlists! (%s)' %
(user, response['result']))
sys.exit()
# Save to CSV
playlists = response['result']
if not playlists:
print('No playlists found for user %s!' % user)
sys.exit()
path = './pysharkbackup_%s' % user
if not os.path.exists(path):
os.makedirs(path)
for p in playlists:
plid = p['id']
name = p['n']
data = {'method': 'getPlaylistSongs', 'params': {'playlistID': plid}}
response = session.post(URI, json=data).json()
if not response['success']:
print('Could not get "%s" songs! (%s)' %
(name, response['result']))
continue
playlist = response['result']
f = csv.writer(open(path + '/%s.csv' % name, 'w'))
f.writerow(['Artist', 'Album', 'Name'])
for song in playlist:
f.writerow([song['Artist'], song['Album'], song['Name']])
通过检查localStorage变量,您可以访问浏览器中保留的一些信息。
可能无法提供播放列表,但可以帮助检索您的一部分收藏。