Anzeige
Archiv - Navigation
1904to1908
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

Abfragen anfügen, aktualisieren

Abfragen anfügen, aktualisieren
02.11.2022 14:41:13
Fred
Hallo Excel Experten,
ich möchte von "totalcorner.com" die letzten Spiele der 2.Bundesliga runterladen.
Diese Spiele sind auf 10 Seiten verteilt.
Als erstes hatte ich die 10 Seiten runtergeladen. Um die Arbeitsmappe nicht unnötig "aufzublähen", habe ich die Tabellen gelöscht, so das nur noch die Verbindungen übrig blieben. Dann wollte ich (mit rechten Mausklick auf einer der Verbindungen) alle Seiten (Abfragen) zusammenführen. Aber anscheinend kann man nur 2 Abfragen zusammenführen
,-- Sehe ich das richtig?
Jedenfalls habe ich daraufhin (mit rechten Mausklick auf einer der Verbindungen) mit "Anfügen" einen "Listenbereich" erstellt, der mir die Abfragen untereinander darstellt. Diesen Bereich habe ich anschließend in eine format. Tabelle umgewandelt.
Das Problem:
Wenn ich auf "Alle aktualisieren" klicke tut sich bei meiner Darstellung nichts,- nach der Zeit kommt die Meldung:
"Die Funktion "Web Page" wurde nicht innerhalb des Timeouts von 100 Sekunden abgeschlossen"
Wie kann ich das ändern?
Schon bei früheren Versuchen, auf dieser Seite Daten runterzuladen gabe es beim Aufrufen der Links Probleme, welche ich damit beseitigt hatte, das nach jedem Aufruf und download 3 Sekunden gewartet wird.
Ich weis nicht, ist dies auch hier eventuell der Fall?
Und wenn ja, wie baue ich diesen "Stop" ein?
Oder gibt es eine andere Lösung?
https://www.herber.de/bbs/user/155962.xlsb
Kann mir ein Experte bitte helfen!
Gruss
Fred

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abfragen anfügen, aktualisieren
02.11.2022 16:57:52
ChrisL
Hi Fred
Du kannst auch mehr als 2 Abfragen zusammenführen. Das Timeout ist in den Einzelabfragen zu suchen und nicht im Schritt "Combine".
Bei den Einzelabfragen im Schritt "Quelle" kannst du unter "Weitere" die Timeout Zeit erhöhen "Befehlstimeout in Minuten (optional)"
bzw. im M-Code z.B. 10 Minuten:

Quelle = Web.Page(Web.Contents("https://www.totalcorner.com/league/view/17/", [Timeout=#duration(0, 0, 10, 0)])),
Aber...
Eine Einzelabfrage konnte ich zwar produzieren. Beim ersten Refresh funktioniert es bereits nicht mehr. Bei der ersten Erstellung dauert der Datenbezug nur ein paar Sekunden, weshalb ich nicht davon ausgehe, dass es an der Timeout-Zeit liegt.
Ich vermute eher, dass die Webseite ein "Web Scraping" ganz bewusst verhindert. Vielleicht gibt es ein Session-ID Cookie o.ä. welches den maschinellen/automatisierten Datenbezug verhindert. Soweit mindestens meine Theorie.
Lange Rede. Ich glaube es liegt an der Webseite und ich gehe davon aus, dass es keine Lösung gibt.
Jedoch sehe ich, dass es im Menü die Option "API" (=Schnittstelle) gibt. Dort würde ich ansetzen.
Allerdings brauchst du einen TOKEN (persönlichen Identifizierungsschlüssel) und ich nehme an, dass die Webseite hierfür eine kostenpflichtige Advanced Membership verlangt. Jedenfalls wäre es so gesehen logisch, dass die Webseite das systematische, kostenfreie Absaugen von Daten unterbindet.
cu
Chris
Anzeige
AW: Abfragen anfügen, aktualisieren
02.11.2022 18:01:33
Fred
Hallo ChrisL,
vielen Dank für deine Mühe und die Beschreibung!!
Ich habe mal die Zeile in erweit. Editor eingefügt (page_01 - nur Verbindung)

Quelle = Web.Page(Web.Contents("https://www.totalcorner.com/league/view/17/", [Timeout=#duration(0, 0, 00, 5)])),
und es funzte: Die Daten werden komplett aktualisiert.
In der gleichen Minute habe ich auf einer unveränderten Datei die Aktualisierung versucht; - es kam wieder die besprochenen Fehlermeldung.
Also:
Anscheinend hat der Zusatz ([Timeout=#duration(0, 0, 00, 5... ) was bewirkt.
Aktualisieren tue ich im "rechte Maustaste/Menü" von der Verbindung "page_alle"
Bei mir klappt es,- vorerst :-)
Gruss
Fred
Anzeige
AW: Abfragen anfügen, aktualisieren
02.11.2022 18:59:43
ChrisL
Hi Fred
Freut mich, dass es funktioniert. Scheint mir aber suspekt, denn #duration(0, 0, 0, 5) würde bedeuten, dass du die Timeout-Zeit von 100 Sekunden (= Default) auf 5 Sekunden reduziert hast. Aber Hauptsache es läuft.
Eine langfristig stabile Lösung sehe ich weiterhin mittels API. Klingt übrigens komplizierter wie es ist und bedeutet nur, dass man einen spezifischen URL für den Datenbezug verwendet. Die Voraussetzungen für den Token (kostenpflichtig oder gratis) müsstest du im Membership-Bereich des Anbieters recherchieren.
cu
Chris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige