From 9326ff73ca1f76b6a2aa845579be0fd27d8cbef8 Mon Sep 17 00:00:00 2001 From: mwiegand Date: Fri, 21 Apr 2023 19:15:07 +0200 Subject: [PATCH] demos --- scrape.py | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/scrape.py b/scrape.py index c6f1da6..f075233 100755 --- a/scrape.py +++ b/scrape.py @@ -108,3 +108,61 @@ for song in response.json()['items']: with requests.get(performance['bootleg'], stream=True) as stream: with open(filename, 'wb') as file: copyfileobj(stream.raw, file) + + # demos + response = session.post( + 'https://www.spektorsthesaurus.com/_api/cloud-data/v1/wix-data/collections/query', + headers={ + 'Accept': 'application/json', + }, + cookies={ + 'svSession': session_id, + }, + json={ + 'collectionName':'tblSongDemo', + 'dataQuery':{ + 'filter':{ + '$and':[ + { + 'song_id': { + '$eq': song_id, + } + }, + ] + }, + 'sort':[ + { + 'fieldName':'song_name', + 'order':'ASC' + } + ], + 'paging':{ + 'offset':0, + 'limit':999 + }, + 'fields':[] + }, + 'options':{}, + 'includeReferencedItems':[], + 'segment':'LIVE', + 'appId':'e3c84d19-bfb6-4299-824a-3236a027d528' + }, + ) + response.raise_for_status() + + for demo in response.json()['items']: + if 'link' in demo: + _, extension = splitext(demo['link']) + filename = f"{song['song_name']} - {demo['release_name']}{extension}".replace('/', '|') + + if exists(filename): + print(filename, 'exists') + continue + else: + print('downloading', filename) + + with requests.get(demo['link'], stream=True) as stream: + with open(filename, 'wb') as file: + copyfileobj(stream.raw, file) + +