Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1496to1500
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Website Zahlen auslesen

Website Zahlen auslesen
17.06.2016 08:33:54
Oliver
Hallo zusammen,
ich versuche im Moment eine Übersicht über die auf geopostcodes.com verfügbaren Daten aufzustellen. Mein Ziel ist es für alle Länder auf http://www.geopostcodes.com/data
jeweils die Informationen auf der rechten Seite auszulesen, also die verschiedenen Preise und Anzahl der Datensätze unterteilt auf die verschiedenen Ebenen.
Für Deutschland also beispielsweise:
Basic
$ 49
Business
$ 129
Enterprise
$ 599
Street+|Basic
$ 295
Street+|Business
$ 795
Street+|Enterprise
$ 3,495
Administrative levels:
1.
Länder 16
2.
Regierungsbezirke 19
3.
Kreisfreien Städte 107
Landkreise 295
4.
Gemeindeverband 4 388
Dataset content:
Administrative regions 4 826
Places / Postcodes 82 492
StreetsStreet+ 1 242 886
Business & admin. 25 644
Und das dann für jedes dort vorhandene Land.
Gibt es hierzu eine Möglichkeit das mit einem Makro zu machen?
Viele Grüße,
Oliver

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Website Zahlen auslesen
17.06.2016 08:38:09
Fennek
Hast du Power-Pivot Import aus Web-Seite versucht?

AW: Website Zahlen auslesen
17.06.2016 09:08:35
Oliver
Hey,
danke für die schnelle Antwort.
Nein, habe ich noch nicht. Ich lade mir das Addin gerade runter und versuche es mal.
Wenn ich die Erklärung dazu richtig verstanden habe hilft es aber nur bei der Auslese von Datenbanken, oder?
Und ein weiteres Probleme bleibt noch das Aufrufen der verschiedenen Einzelseiten. Da das insgesamt ja einige Länder sind, möchte ich nur ungern die einzelnen Links alle manuell eingeben.
Gruß,
Oliver

AW: Website Zahlen auslesen
17.06.2016 09:17:10
Fennek
Hallo,
in xl2016 ist das Modul fest installiert. Dann geht im Menü "Daten" "Import von Webseite" ein Fenster auf, indem man dir url eingeben kann. Dann sucht xl nach verwertbaren Tabellen.
In vielen Fällen ist das recht einfach.
mfg

Anzeige
AW: Website Zahlen auslesen
17.06.2016 09:23:22
Oliver
Hey,
stimmt, habe ich auch gerade bemerkt :D
Das klappt halbwegs gut. Ich kann zwar nur die gesamte Webseite einlesen, jedoch kann ich die relevanten Daten dann mit nem Makro nachträglich rausziehen.
Hat denn jemand noch ne Idee wie ich das für alle Webseiten machen kann? Meine Idee wäre die jeweilige Webseite in ein Sheet importieren, dann die Kennzahlen raussuchen und dann die nächste Webseite importieren. Jedoch weiß ich nicht wie ich die ganzen verschiedenen Links auslese und mit einem Makro aufrufe.
Gruß,
Oliver

AW: Website Zahlen auslesen
17.06.2016 09:30:15
Fennek
Hallo,
als Eklektiker sammele ich gute hier im Forum gezeigte Codes.
Aus Muster für Web-Abfragen aus vba habe ich

Sub WebGet1()
'source: snb
With CreateObject("MSXML2.XMLHTTP")
.Open "get", "http://www.spiegel.de", False
.send
c00 = .responsetext
End With
Debug.Print c00
End Sub
und als Ergänzung

.responsebody
Warten auf Antwort
do while .readyState  4
do events
loop
Daten in xl einlesen
if .status = 200 then
arr = .responsebody
endif
gesammelt.
Da es möglich ist die Web-Afragen in Power-Pivot zu speichern bzw für jede Web-Seite eine Query anzulegen, ist das vermutlich einfacher als selbst zu programmieren.
mfg

Anzeige
Alle Länderlinks holen
17.06.2016 14:43:42
Zwenn
Hallo Oliver,
hier hast Du ein Makro, dass Dir die Links zu allen Ländern aus der von Dir verlinkten Seite generiert. Sie stehen nicht direkt im HTML-Code, lassen sich aber sehr leicht zusammenbauen, wenn man die Ländernamen kennt. Die kann man sehr einfach auslesen.
Das Makro erstellt Links zu den deutschsprachigen Seiten. Wenn Du das nicht willst, lösche einfach das Länderkürzel "de." in diesen beiden Zeilen:

strAusleseURL = "http://de.geopostcodes.com/data"
strGrundURL = "http://de.geopostcodes.com/"
Links zu den Ländergruppen (z.B. Nordamerika, Ozeanien, usw.) generiert das Makro nicht. Kann man aber entsprechend erweitern.

Option Explicit
Sub LinksEinlesen()
Dim strAusleseURL As String
Dim strGrundURL As String
Dim oIE As Object
Dim oKnoten As Object
Dim oKnotenSchleife As Object
Dim lZeile As Long
Dim strLinkTabelle As String
strAusleseURL = "http://de.geopostcodes.com/data"
strGrundURL = "http://de.geopostcodes.com/"
strLinkTabelle = ActiveSheet.Name
lZeile = 2
'Pauschal die ersten beiden Spalten der aktuellen Tabelle löschen
'Achtung: Dient nur zu Demonstrationszwecken, falls das Makro öfter gestartet wird
Columns("A:B").Select
Selection.Delete Shift:=xlToLeft
Range("A1").Select
'Kopfzeile
Sheets(strLinkTabelle).Cells(1, 1).Value = "Ländername deutsch"
Sheets(strLinkTabelle).Cells(1, 2).Value = "Länder-Link"
'Link im IE öffnen
Set oIE = CreateObject("internetexplorer.application")
oIE.Visible = False
oIE.Navigate strAusleseURL
Do Until oIE.ReadyState = 4: DoEvents: Loop
'Länderliste aus DOM Baum in eigenes Objekt übernehmen
Set oKnoten = oIE.document.getElementByID("countrieslist")
'Jeden a-Tag in der Länderliste durchgehen
For Each oKnotenSchleife In oKnoten.getElementsByTagName("a")
'Prüfen ob das Attribut "itemprop" im aktuellen a-Tag vorhanden ist
If oKnotenSchleife.getAttribute("itemprop")  "" Then
'Wenn ja, deutschen Ländernamen in Spalte 1 der LinkTabelle schreiben
'href-Namen mit Grundlink verbinden und in Spalte 2 der LinkTabelle schreiben
Sheets(strLinkTabelle).Cells(lZeile, 1).Value = oKnotenSchleife.innertext
Sheets(strLinkTabelle).Cells(lZeile, 2).Value = strGrundURL & _
oKnotenSchleife.getAttribute("href")
lZeile = lZeile + 1
End If
Next oKnotenSchleife
'Spaltenbreite automatisch anpassen
Columns("A:B").EntireColumn.AutoFit
If ActiveWindow.FreezePanes = False Then
With ActiveWindow
.SplitColumn = 0
.SplitRow = 1
End With
ActiveWindow.FreezePanes = True
End If
oIE.Quit
Set oKnoten = Nothing
Set oKnotenSchleife = Nothing
Set oIE = Nothing
End Sub
Viele Grüße,
Zwenn
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige