import re import demjson class BandcampJSON: def __init__(self, body): self.body = body self.targets = ['TralbumData', 'EmbedData', 'pagedata'] self.json_data = [] def generate(self) -> list: """Iterate through targets grabbing needed data""" for target in self.targets: if target[:4] == 'page': self.get_pagedata() else: self.regex = re.compile(r"(?<=var\s" + target + "\s=\s).*?(?=};)", re.DOTALL) self.target = target self.js_to_json() return self.json_data def get_pagedata(self): """Grab bandcamp pagedata JSON""" pagedata = self.body.find('div', {'id': 'pagedata'})['data-blob'] # Add pagedata to the list of JSON strings self.json_data.append(pagedata) def get_js(self): """Get