首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >既然Grooveshark服务已经关闭,我如何编写脚本来恢复Grooveshark播放列表?

既然Grooveshark服务已经关闭,我如何编写脚本来恢复Grooveshark播放列表?
EN

Stack Overflow用户
提问于 2015-05-08 21:00:15
回答 2查看 12.1K关注 0票数 4

Grooveshark音乐流服务已在没有事先通知的情况下关闭。我有许多想要恢复的播放列表(我几年来制作的播放列表)。

有没有办法让我找回它们?一个脚本或者一些自动化的东西将会很棒。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-08 21:00:15

更新2018-05-11

自从这个答案发布以来,三年过去了,这个脚本似乎不再有效。如果您仍然需要恢复旧的Grooveshark播放列表,这可能不再可行。祝你好运,如果你找到了一种方法,请在这里分享!我很乐意接受你的回答。:-)

我制作了一个脚本,它将尝试查找用户制作的所有播放列表,并将它们作为CSV文件下载到输出目录中。它是用Python编写的。

  • 您必须将您的用户名作为参数传递给脚本(即python pysharkbackup.py "my_user_name")。您的电子邮件地址也应该可以使用(您用于在Grooveshark).
  • The输出目录中注册的电子邮件地址默认设置为./pysharkbackup_$USERNAME.

下面是脚本:

代码语言:javascript
复制
#!/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']])
票数 17
EN

Stack Overflow用户

发布于 2015-05-12 23:13:53

您可以通过检查localStorage变量来访问浏览器中留下的一些信息。

click Go>转至grooveshark.com

  • Open开发工具(右键单击并检查元素),然后转至资源和库变量: grooveshark.com

  • Look,storedQueue

  • Parse storedQueue
  1. Parse variables: recentListens,
    1. ->

    variables to recentListens -> LocalStorage -> recentListens

可能不会给你的播放列表,但可以帮助检索你的收藏。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30124541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档