| |

Visual-Basic EinsteigerRe: html Quelltext auslesen | |  | Autor: saxa | Datum: 21.06.04 10:23 |
| Bitte schön:
Private Sub Form_Load()
Label1.Caption = "keine Seite"
Label2.Caption = "keine Seite"
End Sub
Private Sub Command1_Click()
' Seite laden
Label1.Caption = "Loading..."
WebBrowser1.Navigate Text1.Text
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Dim sHTMLText As String
Dim sURL As Variant
Dim I As Integer
' Prüfen, ob Seite vollständig geladen ist
If (pDisp Is WebBrowser1.Object) Then
Label1.Caption = "Dokument komplett geladen."
Else
Debug.Print "Loading..."
End If
If Label1.Caption = "Dokument komplett geladen." Then
' zunächst Seitenquelltext ermitteln
With WebBrowser1.Document
sHTMLText = .documentElement.outerHTML
End With
' jetzt URLs ermitteln
sURL = HTML_GetAllURLs(sHTMLText)
' URLs vorhanden?
If IsArray(sURL) Then
For I = 0 To UBound(sURL)
'If InStr(sURL(I), "pages.ebay.de") Then
If sURL(I) = "http://pages.ebay.de/" Then
MsgBox sURL(I)
WebBrowser2.Navigate sURL(I)
'Else
'MsgBox "browser1 nichts gefunden"
End If
Next I
End If
End If
End Sub
Private Sub WebBrowser2_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Dim strHTMLText As String
Dim strURL As Variant
Dim I As Integer
' Prüfen, ob Seite vollständig geladen ist
If (pDisp Is WebBrowser2.Object) Then
Label2.Caption = "Dokument komplett geladen."
Else
Debug.Print "Loading..."
End If
If Label2.Caption = "Dokument komplett geladen." Then
' zunächst Seitenquelltext ermitteln
With WebBrowser2.Document
strHTMLText = .documentElement.outerHTML
End With
' jetzt URLs ermitteln
strURL = HTML_GetAllURLs(strHTMLText)
' URLs vorhanden?
If IsArray(strURL) Then
For I = 0 To UBound(strURL)
If InStr(strURL(I), "www.ebay.de") Then
MsgBox strURL(I)
Else
MsgBox "www.ebay.de nicht vorhanden"
End If
Next I
End If
End If
End Sub
Private Function HTML_GetAllURLs( _
ByVal sHTMLText As String) As Variant
' Alle URL-Adressen im übergebenen HTML-Text suchen
' und als Array zurückgeben
Dim sPos As Long
Dim ePos As Long
Dim hPos As Integer
Dim nCount As Long
Dim sTemp As String
Dim sLink As String
Dim sURL() As String
nCount = 0
If sHTMLText <> "" Then
' an erster Position begonnen
sPos = 1
Do
' nach einleitendem Link-Tag suchen "<a"
sPos = InStr(sPos, LCase$(sHTMLText), "<a ")
If sPos > 0 Then
' <a - Tag gefunden, jetzt End-Tag suchen
ePos = InStr(sPos, sHTMLText, ">")
If ePos > 0 Then
' End-Tag gefunden
' jetzt alles zwischen sPos und ePos filtern
sTemp = Mid$(sHTMLText, sPos, ePos - sPos)
If InStr(Mid$(sTemp, 2), "<") = 0 Then
' nur wenn < nicht nochmals vorhanden ist
sTemp = Mid$(sTemp, 4)
' jetzt nach dem Schlüsselwort "HREF" suchen
hPos = InStr(LCase$(sTemp), "href=")
If hPos > 0 Then
' gefunden... jetzt die Link-Adresse auslesen
sLink = Mid$(sTemp, hPos + 5)
' Prüfen, ob "-Zeichen vorhanden,
' wenn ja - "ausschneiden"
If Left$(sLink, 1) = Chr$(34) Then
sLink = Mid$(sLink, 2)
sLink = strLeft(sLink, Chr$(34))
Else
sLink = strLeft(sLink, " ")
End If
If Right$(sLink, 1) = Chr$(34) Then _
sLink = Left$(sLink, Len(sLink) - 1)
' Link in URL-Array speichern
ReDim Preserve sURL(nCount)
sURL(nCount) = sLink
nCount = nCount + 1
' Weitersuche ab "ePos"
sPos = ePos - 1
End If
End If
End If
sPos = sPos + 1
Else
Exit Do
End If
Loop
End If
HTML_GetAllURLs = sURL
End Function
' Hilfsfunktion
Public Function strLeft(ByVal sString As String, _
ByVal vDelimiter As Variant) As String
Dim lPos As Long
If VarType(vDelimiter) = vbString Then
' String bis zum ersten Vorkommen eines Zeichens
' zurückgeben
lPos = InStr(sString, vDelimiter)
If lPos = 0 Then lPos = Len(sString)
Else
lPos = Val(vDelimiter)
End If
strLeft = Left(sString, lPos)
End Function |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) sevZIP40 Pro DLL 
Zippen und Unzippen wie die Profis!
Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Weitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|