はじめに
普段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)
表示結果
Pythonはさくっと色々できて便利ですね。