import urllib.parse from pathlib import Path import requests from bs4 import BeautifulSoup class TXTDownloader: def __init__(self, sessid, outdir): self.sessid = sessid self.outdir = outdir def download(self, url: str, artist: str, song: str, spotify_uri: str): url = url.replace("detail", "gettxt") with requests.Session() as s: page = s.post(url, data={'wd': 1}, cookies={'PHPSESSID': self.sessid}) soup = BeautifulSoup(page.content, 'html.parser') txt = soup.find(name="textarea").text Path(self.outdir).mkdir(parents=True, exist_ok=True) with open(Path(self.outdir) / f"{artist} - {song} - {spotify_uri}.txt", "w", encoding="utf-8") as f: f.write(txt)