Skip to content
Snippets Groups Projects
txtdownloader.py 779 B
Newer Older
kjk's avatar
kjk committed
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)