Grooveshark 音楽ストリーミング サービスは、予告なしに終了しました。復元したいプレイリストがたくさんありました (数年かけて作成したプレイリスト)。
それらを回復する方法はありますか?スクリプトまたは自動化された何かが素晴らしいでしょう。
Grooveshark 音楽ストリーミング サービスは、予告なしに終了しました。復元したいプレイリストがたくさんありました (数年かけて作成したプレイリスト)。
それらを回復する方法はありますか?スクリプトまたは自動化された何かが素晴らしいでしょう。
更新 [2018-05-11]
この回答が投稿されてから 3 年が経過しましたが、このスクリプトは機能しなくなったようです。古い 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 変数を確認することで、ブラウザーに残された情報の一部にアクセスできます。
プレイリストは提供されないかもしれませんが、コレクションの一部を取得するのに役立ちます。