Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1196to1200
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

Quelltext von Webseite

Quelltext von Webseite
Webseite
Hallo liebe Community,
ich sitze schon seit ein paar Tagen vor einem größeren Problem. Ich lese mir den Quelltext von
http://www.krankenhaus.net/klinik-plz-87.php
in einen String aus und will dann die einzelnen Krankenhäuser in meine Excel Liste übernehmen.
Ich habe nur ein Problem. Wenn ich im Internet Explorer auf Quelltext anzeigen gehe, dann zeigt er mir auch den Quelltext wunderbar an, so wie ich es brauche.
Speicher ich den Quelltext in einem String:
Quelltext = WebBrowser1.Document.DocumentElement.outerHTML
und diesen Quelltext lasse ich mir in einer Textbox anzeigen. Er zeigt mir aber solche Sachen an:
itxtAssessment="{hasWeightsets:true,isWeightset:false,hasHooknodes:true,isHooknode:
false,hasContentnodes:true,isContentnode:false,hasExcludenodes:true,isExcludenode:true,
hasUnbreaknodes:true,isUnbreaknode:true,hasBreaknodes:true,isBreaknode:false,nodeElem:true
,nodeAttr
Kann mir jemand helfen?
Vielen Dank
AW: Quelltext von Webseite
23.01.2011 10:34:17
Webseite
Hallo Thomas,
mache in Tabelle3 eine Webabfrage (tabellen) auf den Link, in Spalte K erscheinen dann die Krankenhäuser.
Mit folgendem Code werden sie nach Tabelle Spalte A gefiltert.

Sub KH()
Dim Zei3 As Long, Z As Long, Zei1 As Long
With Worksheets("Tabelle3")
Zei3 = .Cells(Rows.Count, 11).End(xlUp).Row
While Not .Cells(Zei3, 11).Value Like "Fax*"
Zei3 = Zei3 - 1
Wend
For Z = 1 To Zei3
If .Cells(Z, 11).Value Like "Fax*" Then
.Cells(Z - 5, 11).Resize(6).Copy Destination:=Worksheets("Tabelle1").Cells(Zei1 + 1, 1) _
Zei1 = Zei1 + 7
End If
Next Z
End With
End Sub

Gruß
Reinhard
Anzeige
AW: Quelltext von Webseite
23.01.2011 10:55:38
Webseite
Hallo Reinhard,
danke für die schnelle Antwort, aber das löst mein Problem leider nicht.
Dein Script funktioniert wunderbar. Aber das habe ich auch schon probiert.
Mein Beispiel hat sich nur auf die eine Seite bezogen. Ich will aber alle Kliniken in Deutschland auslesen.
Somit müsste ich 99 (PLZ - Gebiete) Webabfragen mit der Hand machen und genau das wollte ich automatisieren und deswegen wollte ich den Quelltext auslesen.
Vielleicht geht es doch irgendwie mit dem Quelltext.
Beste Grüße.
AW: Quelltext von Webseite
23.01.2011 12:23:09
Webseite
Hallo Thomas,
hier haste deine 99:
Option Explicit
Sub GetHtmlContent()
Dim Erg
Dim objIE As Object
Dim strBoddy As String
Dim intFile As Integer
Dim N As Integer
Const strURL As String = "http://www.krankenhaus.net/klinik-plz-"
Const strOUT As String = "C:\test\testIt.txt"
Set objIE = CreateObject("InternetExplorer.Application")
intFile = FreeFile
Open strOUT For Output As #intFile
For N = 1 To 99
objIE.navigate strURL & Right("00" & N, 2) & ".php"
Do: Loop Until objIE.Busy = False
Do: Loop Until objIE.Busy = False
strBoddy = objIE.document.documentElement.innerText
Print #intFile, strBoddy
Application.StatusBar = N
Next N
Close #intFile
objIE.Quit
Set objIE = Nothing
MsgBox "gespeichert unter: " & strOUT
Application.StatusBar = False
Erg = Shell("notepad " & strOUT, vbMaximizedFocus)
End Sub

Gruß
Reinhard
Anzeige
AW: Quelltext von Webseite
23.01.2011 13:11:14
Webseite
Danke auch Dir.
Vielen Dank.
Quelltext von Webseite
23.01.2011 11:07:35
Webseite
Hallo Thomas,
probier's so:
Quelltext = WebBrowser1.Document.innerText
mfg Anton
AW: Quelltext von Webseite
23.01.2011 11:14:31
Webseite
Hallo Anton,
funktioniert leider auch nicht.
Laufzeitfehler 483: Objekt unterstützt diese Eigenschaft, oder Methode nicht.
hmmm...
Quelltext = WebBrowser1.Document.body.innerText
23.01.2011 11:23:37
Anton
sorry
AW: Quelltext = WebBrowser1.Document.body.innerText
23.01.2011 11:25:47
Thomas
Kein Problem, vielen Dank trotzdem, ist mittlerweile erledigt.
Beste Grüße
innerText statt outerHTML
23.01.2011 11:13:30
Christian
Hallo Thomas,
ein Bsp - das Ergebnis wird hier nach "D:TestIt.txt" geschrieben.
Sub GetHtmlContent()
Dim objIE As Object
Dim strBoddy As String
Dim intFile As Integer
Const strOUT As String = "D:\testIt.txt"
Const strURL As String = "http://www.krankenhaus.net/klinik-plz-87.php"
Set objIE = CreateObject("InternetExplorer.Application")
objIE.navigate strURL
Do: Loop Until objIE.Busy = False
Do: Loop Until objIE.Busy = False
strBoddy = objIE.document.documentElement.innerText
objIE.Quit
Set objIE = Nothing
intFile = FreeFile
Open strOUT For Output As #intFile
Print #intFile, strBoddy
Close #intFile
MsgBox "gespeichert unter: " & strOUT
End Sub
Gruß
Christian
Anzeige
AW: innerText statt outerHTML
23.01.2011 11:23:06
Thomas
Ja, so funktioniert es wunderbar, sogar in der Textbox...
Was ist denn der unterschied zwischen dem
.document.documentElement.innerText
&
.document.documentElement.outerHTML ?
Vielen Dank euch allen, jetzt kann ich weiterarbeiten.
Beste Grüße
Die Antwort auf die Frage hast du ...
23.01.2011 11:29:13
Christian
doch grade gesehen, Thomas.
outerHTML bringt dir den gesamten HTML Test
innerText nur den Inhalt
Gruß
Christian
AW: Die Antwort auf die Frage hast du ...
23.01.2011 11:36:51
Thomas
Ja, habs grad gesehen, sorry, blöde Frage.
AW: Quelltext von Webseite
23.01.2011 12:44:16
Webseite
Hallo,
teste mal diesen Code.
Unter Extras Verweise noch den Verweis auf 'Microsoft HTML Object Library' setzen.
'Verweis: Microsoft HTML Object Library 
Sub Links_von_einer_Seite_lesen()
Dim objMSHTML As New MSHTML.HTMLDocument
Dim Doc As MSHTML.HTMLDocument
Dim strText$, ArrayData
Dim strPLZ$, tmpHelpText$

strPLZ$ = "66" 'PLZ angeben 

Range("A2", Cells(Rows.Count, 1)).ClearContents

Set Doc = objMSHTML.createDocumentFromUrl("http://www.krankenhaus.net/klinik-plz-" & strPLZ & ".php", vbNullString)

Do While Doc.readyState <> "complete"
    DoEvents
Loop

strText$ = Doc.DocumentElement.document.body.innerText
strText$ = Left$(strText$, InStr(strText$, "Alle Angaben ohne Gewähr") - 1)
tmpHelpText = "im Postleitzahlgebiet """ & strPLZ$ & """"
Do While InStr(strText, tmpHelpText) > 0
    strText$ = Right$(strText$, Len(strText$) - InStr(strText$, tmpHelpText) - Len(tmpHelpText) + 1)
Loop
strText = Replace(strText, vbCrLf & vbCrLf, vbCrLf)
ArrayData = Split(strText, vbCrLf)

ArrayData = Application.Transpose(ArrayData)
Range("A2").Resize(Ubound(ArrayData), 1) = ArrayData


Doc.Close
Set Doc = Nothing
End Sub
Gruß Tino
Anzeige
AW: Quelltext von Webseite
23.01.2011 13:04:08
Webseite
SUPER,
VIELEN DANK... unter umgehung der Textbox.
Das gefällt mir.!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige