diff --git a/web/ladda_hem_bilder.py b/web/ladda_hem_bilder.py index f0acc9d..23f0e61 100644 --- a/web/ladda_hem_bilder.py +++ b/web/ladda_hem_bilder.py @@ -3,6 +3,7 @@ import re from bs4 import BeautifulSoup import requests from urllib.parse import urljoin +import base64 def ladda_ner_bilder(url): # Hämta HTML-sidan @@ -25,7 +26,7 @@ def ladda_ner_bilder(url): bilder.append(f"data:{bild_typ};base64,{bild_data}") # Ladda ner bilderna - bild_katalog = "bilder" + bild_katalog = os.path.expanduser("~/Downloads/bilder") if not os.path.exists(bild_katalog): os.makedirs(bild_katalog) @@ -33,12 +34,19 @@ def ladda_ner_bilder(url): if not bild_url.startswith('http'): bild_url = urljoin(url, bild_url) - svar = requests.get(bild_url) - if svar.status_code == 200: - filnamn = os.path.basename(bild_url) - fil_sökväg = os.path.join(bild_katalog, filnamn) - with open(fil_sökväg, 'wb') as f: - f.write(svar.content) + if bild_url.startswith('data:'): + # Dekodera base64-strängen och spara den som en bild + format, data = bild_url.split(';base64,') + data = base64.b64decode(data) + filnamn = 'inline_' + str(len(bilder)) + '.gif' + with open(os.path.join(bild_katalog, filnamn), 'wb') as f: + f.write(data) + else: + svar = requests.get(bild_url) + if svar.status_code == 200: + filnamn = os.path.basename(bild_url).split('?')[0] + with open(os.path.join(bild_katalog, filnamn), 'wb') as f: + f.write(svar.content) print(f"Bilden {filnamn} har laddats ner till {bild_katalog}.") def main():