Daten aus HTML in csv schreiben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Tsarniwoop
User
Beiträge: 3
Registriert: Donnerstag 6. Oktober 2016, 21:27

Hallo comunity,
ich bin auf der suche nach einer Lösung für mein Problem und hoffe ihr könnt mir helfen.
Vorab ich bin Anfänger im Programmieren und bitte daher um etwas nachsicht :D

Zu meinem Vorhaben:
Ich möchte von einer Seite Finanztreff.de die Kursdaten des S&P500 auslesen und in eine csv Datei schreiben.
Dabei sollen folgende Werte jeweils in eine Spalte beginnend mit dem ältesten Datum geschrieben werden.
Datum, Eröffnung, Hoch, Tief, Schlusskurs, Volumen

Momentan hänge ich noch ganz am Anfang nämlich, das die Werte neben einander geschrieben werden.

Wie schaffe ich es das die Daten untereinander geschrieben werden?
Vorangestellt mit dem Datum.

Code: Alles auswählen

import urllib
import urllib.request
import csv
import re

#SP500 = SP500.csv


url = "http://www.finanztreff.de/kurse_einzelkurs_history.htn?i=2303839"

req = urllib.request.Request(url)
resp = urllib.request.urlopen(req)
respData = resp.read()


with open('SP500.csv','w') as SP500f:
     
   paragraphs = re.findall(r'<td>(\d.*2016)</td>',str(respData))
   for eachP in paragraphs:
        print(eachP) 
        SP500f.write(eachP)
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

@Tsarniwoop: kann es sein, dass Du die Nutzungshinweise übersehen hast:
Abruf von Inhalten

Inhalte dürfen von Ihnen nur in der Weise abgerufen werden, dass bei jedem Zugriff die gesamte Internetseite einschließlich der dort dargestellten Werbeanzeigen und sonstiger Inhalte vollständig auf Ihrem Rechner geladen wird, über den der Zugriff auf unsere Internetseiten erfolgt. Ein isolierter Abruf lediglich der Inhalte ist nicht zulässig. Sie verpflichtet sich, jeden diesen Nutzungsbedingungen nicht entsprechenden Zugriff zu unterlassen, insbesondere die Verwendung automatischer Kursabfrageprogramme.
Benutzeravatar
pillmuncher
User
Beiträge: 1484
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

Bevor du irgendwas anderes machst, werd erstmal re los und verwende statt dessen BeautifulSoup. HTML kann man mit regulären Ausdrücken nicht zuverlässig parsen. Guckstu: https://de.wikipedia.org/wiki/Chomsky-Hierarchie
In specifications, Murphy's Law supersedes Ohm's.
Tsarniwoop
User
Beiträge: 3
Registriert: Donnerstag 6. Oktober 2016, 21:27

Oh je, das habe ich wirklich nicht gesehen. :shock:
Ok dann gehe ich mal auf die Suche nach einer Seite die das erlaubt.
Gruß Tsarni
Tsarniwoop
User
Beiträge: 3
Registriert: Donnerstag 6. Oktober 2016, 21:27

@pillmuncher
Danke für den Hinweis, da werde ich mich gleich morgen mal dran machen.
Gute Nacht
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

Yahoo! hat einen Dienst Namens Yahoo! Finanace, der auch einen öffentliche, webbasierte API hat. Darüber solltest du ohne Probleme an den S&P Wert kommt.

AFAIK könntest du dir den Kurz auch direkt in Pandas laden, da Pandas Funktionen dazu bereit stellt. Dann kannst du die Daten direkt analysieren.

Gruß, noisefloor
Antworten