14
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Spotifyで再生した曲を、再生回数順に並べる

Last updated at Posted at 2020-06-24

はじめに

普段Spotifyで音楽を聞いていて、再生回数順に並べたいな〜と思うときがあるのですが、再生回数自体アプリでは見られないんですよね。

その代わりに、SpotifyのPC版サイト(https://www.spotify.com/jp/)
で、JSON形式のデータとして、視聴履歴などをダウンロードすることができます。

そこで、自分のデータをダウンロードして、Pythonでカウントして表示してみました。

ダウンロードの手順
プロフィール > プライバシー設定 > お客様のデータのダウンロードからボタンをクリック。
メールでダウンロードリンクが送られてきます。最長30日かかるらしいので、気長に待ちましょう。

標準ライブラリしか使ってないので、プログラミング分からない人でもPCにPythonさえ入っていれば、コピペして実行すれば使えると思います。

自分用に書いたので、動かなかったらすみません。

コード

count.py
import json
import collections

# jsonデータの読み込み
# file_pathには、自分のStreamingHistoryファイルを指定してください。
with open('file_path') as f:
    d = json.load(f)

list = []

print("全体検索しますか? y/n")
search_all = str(input())

print("何回以上を表示しますか?")
count = int(input())

# 曲名の取り出し&リストに追加
# 全体検索の場合
if search_all == "y":
    for i in d:
        list.append(i['trackName'])
# 指定検索の場合
elif search_all == "n":
    print("アーティストを入力してください")
    artist = str(input())
    for i in d:
        if(i['artistName'] == artist):
            list.append(i['trackName'])

# 出現回数順に要素を取得
c = collections.Counter(list)
c_list = c.most_common()

print("------------")
print("曲名, 再生回数")

# 再生回数が一定以上のものを表示する
for i in c_list:
    if i[1] >= count:
        print(i)

表示結果

スクリーンショット 2020-06-24 18.24.25.png

Pythonはさくっと色々できて便利ですね。

14
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?