Absturz bei Internetseite auslesen

Bild

Betrifft: Absturz bei Internetseite auslesen von: Reinhard
Geschrieben am: 24.02.2005 08:25:39

Hallo Wissende,
auch ich habe die CD von Hans und habe daraus den Code genommen um eine Internetseite auszulesen. Der Originalcode ist unten angehängt und , um den CD Umsatz nicht zu dezimieren, gemäss Dos Regeln quasi als datei gelöscht :-)))

Ich habe ihn modifiziert für meine Wünsche und es ssieht so aus:
Sub Aufruf()
url = "http://de.wikipedia.org/wiki/Liste_deutschsprachiger_Schriftsteller/"
'url = "http://de.wikipedia.org/wiki/Liste_deutschsprachiger_Schriftsteller#"
For n = 1 To 26
Call URL_Load(url & Chr(64 + n))
Next n
End Sub

Private Sub URL_Load(ByVal sURL As String)
Dim appIE As Object
Dim sTxt As String
Set appIE = CreateObject("InternetExplorer.Application")
appIE.navigate sURL
Do: Loop Until appIE.Busy = False
Do: Loop Until appIE.Busy = False
sTxt = appIE.document.documentElement.outerHTML
Set appIE = Nothing
Close
zei = Range("A65536").End(xlUp).Row + 1
Range("A" & zei) = sTxt
End Sub


Ich habe ihn mehrmals gestartet, es gab Abstürze ohne Ende, mal kam der Debugger, sorry Fehlermeldung vergessen, aber n stand bei 6, mal kam die Meldung "Speicher voll" und am seltsamsten war, bei einem Aufruf tat sich erst nichst, dann bootete mein Windows neu, ohne vorher bluescreen oder sonstwas zu bringen.
Jetzt suche ich mal einen Mutigen *g der den Code laufen lässt und mir sagt was sich tut. Ich habe win98 und excel2000.
Mein Ziel ist klar, ich möchte eine Liste der Dichter die dort sind, manuell rauskopieen geht problemlos.
Was mich auch irritiert, am Ende der url , ist manchmal # manchmal / beides geht irgendwie manuell!? Ich dachte immer dieses # gilt nur innerhalb einer Seite, quasi als Goto Zielanweisung innerhalb der Seite, also so:
.../Liste_deutschsprachiger_Schriftsteller/A#AA
bzw
.../Liste_deutschsprachiger_Schriftsteller/A#AB
aber
zeitweise ging
.../Liste_deutschsprachiger_Schriftsteller#A
auch *grübel*
Gruß
Reinhard

?ext-Index: ?81102
?hema: ?xtern
?ubject: HTML-Seite aus dem Internet aufrufen und als Textdatei speichern
?roblem: Eine Internet-HTML-Seite soll ausgelesen und als Textdatei im ?erzeichnis dieser Arbeitsmappe gespeichert werden.
?ösung: Den nachstehenden Code in ein Standardmodul eingeben, einer Schaltfläche ?uweisen und starten.

?tandardModule: Modul735 ' *grien*

?ub Aufruf(?)
?all URL_Load("http://www.kicker.de")
?nd Sub

?rivate Sub URL_Load(ByVal sURL As String)
?im appIE As Object
?im sTxt As String
?et appIE = CreateObject("InternetExplorer.Application")
?ppIE.navigate sURL
?o: Loop Until appIE.Busy = False
?o: Loop Until appIE.Busy = False
?Txt = appIE.document.documentElement.outerHTML
?et appIE = Nothing
?lose
?pen ThisWorkbook.Path & "\test.txt" For Output As #1
?rint #1, sTxt
?lose
?sgBox "Der Text wurde gespeichert unter:" & vbLf & _
Application.Path & "\test.txt"
?nd Sub

Bild


Betrifft: AW: Absturz bei Internetseite auslesen von: Nike
Geschrieben am: 24.02.2005 09:16:35

Hi,
zur Zeit hat Wikipedia doch sowieso Probleme mit der Bandbreite, oder?
Ich meine so ne Meldung bei Heise gelesen zu haben, das die zur Zeit etwas
ueberlastet sind...

Ich wuerde die 26 Varianten manuell machen, wenn's auch schwer faellt,
es kann ja auch unterschiedlich lange dauern, wie die Seite sich aufbaut...

Bye

Nike


Bild


Betrifft: AW: Absturz bei Internetseite auslesen von: Reinhard
Geschrieben am: 24.02.2005 09:42:04

Moin Nike,
jepp, das manuelle mach ich grad, dauert teilweise echt ewig :-( *g
Aber bin schon beim Buchstaben "S"
Und ich lasse die Frage offen, weil es sicher noch andere interessiert, bzw, wie lautet die Lösung wenn Internetseiten 3 Minuten brauchen zum Öffnen..
Letzlich will ich auch wissen, liegt es an meinem Pc.
Ansonsten sind da die "busy" Schleifen, verstehe da nicht dass das makro , noch dazu unterschiedlich abbricht, unterschiedlich deute auf Speicherbelastung hin *glaub*
Gruß
Reinhard


Bild


Betrifft: AW: Absturz bei Internetseite auslesen von: DoEvents
Geschrieben am: 24.02.2005 14:38:37

Hi,

1. Do:DoEvents: Loop Until appIE.Busy = False

2. Das Close löschen

Dann bin ich bis "M" gekommen, hab aber abgebrochen, was soll ich mit den Daten....


Gruß


Bild


Betrifft: AW: Absturz bei Internetseite auslesen von: Reinhard
Geschrieben am: 24.02.2005 16:50:36

Hi Doevents?
werde ich mal testen, und "mal" bedeutet auf jeden Fall in diesem Fall, da mich alles mit Internetseiten auslesen oder da was reinschreiben interessiert.
Da ja Hans nicht grundlos 2 gleiche Do Loop Schleifen nacheinander einbaut, weisst du zufällig warum man die braucht?
Wenn der Code den IE startet und dann wenn die Seite aufgebaut ist, dieser ein "nicht mehr busy" naja denglisch *g zurückgibt, wofür die 2te Schleife?
Da mich das weit mehr interessiert als jetzt speziell diese Dichterliste (ich hab sie manuell, du hast zu spät geantwortet *lächel*, per strg-C und 26 mal usw nach Excel rübergeschaufelt) würde ich das gerne grundlegend wissen, deshalb die Frage noch offen, danke dir.
Gruß
Reinhard


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Absturz bei Internetseite auslesen"