#!/usr/bin/python3 # -*- coding: utf-8 -*- from bs4 import BeautifulSoup import requests from datetime import datetime, date, time, timezone urls = {'DK0TWX' : 'https://www.deka.de/privatkunden/fondsprofil?id=DE000DK0TWX8'} laufwerk = "d:/" for key in urls: werte = {} file_name = key + ".csv" try: with open (laufwerk + file_name, "r") as in_file: zeilen = in_file.read().split("\n") try: for i, zeile in enumerate (zeilen): datum, kurs = zeile.split(";") if datum == "Datum": pass else: werte[datetime.strptime(datum, "%d.%m.%Y")] = kurs except: pass except: # z.B. Datei nicht vorhanden pass with open (laufwerk + file_name, "w") as out_file: req = requests.get(urls[key]) soup = BeautifulSoup(req.text, "html5lib") datum_ruecknahmepreis = soup.find("tbody").find("tr").find_all("td")[4].string.split(" ")[3] aktueller_ruecknahmepreis = soup.find_all("div", class_ = "row box-tsr")[0]. \ find_all("div", class_ = "fondsdetail")[1]. \ find("div", class_ = "item-detail"). \ string.strip().split(" ")[0] try: werte[datetime.strptime(datum_ruecknahmepreis, "%d.%m.%Y")] = aktueller_ruecknahmepreis except: pass out_file.write("Datum;Kurs\n") for wert in sorted(werte, reverse=True): out_file.write(wert.strftime("%d.%m.%Y")) out_file.write(';') out_file.write(werte[wert]) out_file.write ("\n")