Add metadata_extracter.py
This commit is contained in:
parent
525b098d5e
commit
ae4a511a7e
36
metadata_extracter.py
Normal file
36
metadata_extracter.py
Normal file
@ -0,0 +1,36 @@
|
||||
import subprocess, json
|
||||
|
||||
def execute(command):
|
||||
return subprocess.check_output(command, shell = True).decode('utf-8')
|
||||
|
||||
def getJSON(command):
|
||||
return json.loads(execute(command))
|
||||
|
||||
SAPISIDHASH = 'CENSORED'
|
||||
SECURE_3PSID = 'CENSORED'
|
||||
SECURE_3PAPISID = 'CENSORED'
|
||||
CHANNEL_ID = 'CENSORED'
|
||||
ON_BEHALF_OF_USER = 'CENSORED'
|
||||
# `TAB` can either be `Music` or `Sound effects`
|
||||
TAB = 'Music'
|
||||
|
||||
allTracks = []
|
||||
nextPageToken = ''
|
||||
TAB_REQUEST = '' if TAB == 'Music' else ',"filter":{"trackTypeIn":{"values":["CREATOR_MUSIC_TRACK_TYPE_SOUNDEFFECT"]}}'
|
||||
|
||||
while True:
|
||||
command = f"curl -s 'https://studio.youtube.com/youtubei/v1/creator_music/list_tracks' -H 'Content-Type: application/json' -H 'Authorization: SAPISIDHASH {SAPISIDHASH}' -H 'X-Goog-AuthUser: 0' -H 'Origin: https://studio.youtube.com' -H 'Cookie: __Secure-3PSID={SECURE_3PSID}; __Secure-3PAPISID={SECURE_3PAPISID}'" + ' --data-raw \'{"channelId":"' + CHANNEL_ID + '"' + TAB_REQUEST + ',"pageInfo":{"pageSize":100' + ('' if nextPageToken == '' else f',"pageToken":"{nextPageToken}"') + '},"context":{"client":{"clientName":62,"clientVersion":"1.20230201"},"user":{"onBehalfOfUser":"' + ON_BEHALF_OF_USER + '"}}}\''
|
||||
|
||||
data = getJSON(command)
|
||||
allTracks += data['tracks']
|
||||
print(len(allTracks))
|
||||
|
||||
pageInfo = data['pageInfo']
|
||||
if 'nextPageToken' in pageInfo:
|
||||
nextPageToken = pageInfo['nextPageToken']
|
||||
else:
|
||||
break
|
||||
|
||||
with open('music.json', 'w') as f:
|
||||
json.dump(allTracks, f, indent=4)
|
||||
|
Loading…
Reference in New Issue
Block a user