Wie kann ich Daten von einer Internetseite automatisch in Excel importieren?
Hallo zusammen,
ich bin gerade dabei, eine Datenbank zu erstellen und würde dafür gerne Daten von einer Website automatisch auslesen lassen. Konkret geht es um die Arbeitslosenquoten aller Landkreise und Städte, die von der Bundesagentur für Arbeit monatlich veröffentlicht werden.
Hier ein Link zu einer Beispielstadt: https://statistik.arbeitsagentur.de/Navigation/Statistik/Statistik-nach-Regionen/Politische-Gebietsstruktur/Bayern/Amberg-Stadt-Nav.html
Im Beispiel sollte die Arbeitslosenquote insgesamt (5,9) und der Stand der Angabe (Mai 2016), der über der Tabelle steht, ausgelesen werden.
Im HTML-Code ist die Quote in folgender Zeile angegeben: 5,9 Beim Datum sieht es folgendermaßen aus: Arbeitsmarkt im Überblick - Berichtsmonat Mai 2016 - Amberg, Stadt
Dabei sollten die ausgelesenen Werte in zwei separaten Excel-Feldern ausgegeben werden. Das muss aber nicht zwingend alles in einem Makro geschehen. Zwei Makros für die unterschiedlichen Felder wären optimal, da ich den Code dann wahrscheinlich auch besser nachvollziehen kann.
Da die direkte Webabfrage über Excel nicht funktioniert, weil die Seite nicht korrekt geladen wird, denke ich, dass VBA hier unumgänglich ist, oder? Ich habe jedoch leider keine Programmierkenntnisse und bin aus den Einträgen in diversen Foren leider auch nicht schlau geworden.
Im Nachhinein müsste das Makro entsprechend anpassbar sein, sodass ich auch die Daten der anderen Städte auslesen kann (die Quellseite ist immer nach dem gleichem Prinzip aufgebaut).
Falls jemand eine Idee hat, wie das Problem zu lösen ist, würde ich mich sehr darüber freuen! Vielen Dank!
4 Antworten
Schau mal hier:
http://www.doerrhoefer-technik.de/vba_programme/uebersicht_vba.html
Evtl. reicht dies ja als Anregung
Der Link wird nicht richtig übernommen, daher hier ein verkürzter Link:
Übrigens: auf die eigene Frage antworten ist ungünstig, weil es mich (schätze andere auch) davon abhält sich die Frage anzuschauen. Ist ja schon beantwortet :-)
Zur Frage. Die Daten werden per JavaScript geladen und angezeigt. Da ist kein HTML im Spiel, das man auslesen könnte (weder Excel noch VBA noch sonst was). Das einzige was ich im HTML sehe ist eine Datenreihe, von der ich ad hoc nicht wüsste was das bedeutet
data-eckwerte='{"201305":{"09361":6.2},"201306":{"09361":5.9},"201307":{"09361":5.7},"201308":{"09361":6.0},"201309":{"09361":5.7},"201310":{"09361":5.4},"201311":{"09361":5.2},"201312":{"09361":5.5},"201401":{"09361":6.5},"201402":{"09361":6.4},"201403":{"09361":6.4},"201404":{"09361":5.8},"201405":{"09361":5.8},"201406":{"09361":5.7},"201407":{"09361":5.8},"201408":{"09361":5.9},"201409":{"09361":5.8},"201410":{"09361":5.4},"201411":{"09361":5.3},"201412":{"09361":5.7},"201501":{"09361":6.5},"201502":{"09361":6.5},"201503":{"09361":6.5},"201504":{"09361":5.8},"201505":{"09361":5.6},"201506":{"09361":5.3},"201507":{"09361":5.3},"201508":{"09361":5.4},"201509":{"09361":5.5},"201510":{"09361":5.0},"201511":{"09361":5.0},"201512":{"09361":5.3},"201601":{"09361":6.4},"201602":{"09361":6.5},"201603":{"09361":6.4},"201604":{"09361":6.0},"201605":{"09361":5.9}}'
Die wollen einfach nicht, dass man mit ihren Daten was sinnvolles anfängt. Oder das wäre vielleicht ein Ansatz: die vom Arbeitsamt anschreiben ob sie die [Roh-]Daten nicht doch (evtl. über anderen Weg) bereitstellen wollen. Egal wie sie daher kommen (Text, CSV, XML, Datenbankformat) die kriegt man immer in Excel verwurschtet.
Ich habe sowas schon mehrmals gemacht, aber automatisch geht das natürlich nicht. Da ist schon einiges an Arbeit dran.
Zunächst habe ich die Daten aus der jeweiligen Seite mit Kopieren (strg + c) und Einfügen (strg + v) den jeweiligen Seiten entnommen (Markieren geht mit strg + a) und in einem Text-Editor aneinandergereiht. Dann habe ich die Nahtstellen zwischen den Seiten von Hand korrigiert, sodass ich eine durchgehend einheitliche Datenstruktur bekommen habe. Nach einer genauen Analyse der vorhandenen Struktur (ggf. manueller Korrektur von Ausnahmeerscheinungen) habe ich ein Umsetzprogramm geschrieben, das mir diese Textdatei in das gewünschte Format gebracht hat. Ich habe das zum Laden einer Datenbanktabelle benötigt, für EXCEL wäre das aber genauso gut gegangen.
Der verwendete Editor sollte auch spaltenweise arbeiten können, z.B. der kostenlos im Internet herunterladbare XINT. Damit lassen sich die Spalten gut zurechtlegen.
Nebenbei: Es ging um ca 22000 Sätze, alle Orte in Deutschland mit PLZ, später mit anderen Daten, wie Zugehörigkeit zum Bundesland und zuständiges Amtsgericht, ergänzt.