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

Auslesen von META keywords content aus Zelle

Auslesen von META keywords content aus Zelle
11.06.2016 13:39:30
META
Hallo,
mit folgendem Code lade ich mir den Inhalt von Webseiten herunter und speichere ihn in einer Exceltabelle:
Sub auslesen()
Dim htm As Object
Set htm = CreateObject("HTMLfile")
URL = "https://www.insolvenzbekanntmachungen.de/cgi-bin/bl_aufruf.pl?PHPSESSID= _
8ecbeb942c887974468b9010531fc7ab&datei=gerichte/nw/agkoeln/16/0071_IN00181_16/2016_06_10__11_53_26_Anordnung_Sicherungsmassnahmen.htm"
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", URL, False
.send
htm.body.innerHTML = .responseText
Cells(1, 1) = .responseText
End With
Beschreibung = htm.getElementsByTagName("body")(0).innerText
Cells(1, 2) = Beschreibung
End Sub
In Zelle A1 steht nun der Quelltext der Website und in Zelle B1 der "Klartext" des Body. Nun muss ich noch aus Zelle A1 den Inahlt von

auslesen.
Mit dem nachfolgenden Code funktioniert das, wenn mann die Seite zunächst mit dem Internet Explorer öffnet, was ich aber nicht möchte.
Sub GetData() Dim ie As New InternetExplorer Dim str As String Dim wk As Worksheet Dim webpage  _
As New HTMLDocument Dim item As HTMLHtmlElement
Set wk = Worksheets(1)
str = "https://www.insolvenzbekanntmachungen.de/cgi-bin/bl_aufruf.pl?PHPSESSID= _
8ecbeb942c887974468b9010531fc7ab&datei=gerichte/nw/agkoeln/16/0071_IN00181_16/2016_06_10__11_53_26_Anordnung_Sicherungsmassnahmen.htm"
ie.Visible = True
ie.navigate str
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
'Find the proper meta element --------------
Const META_TAG As String = "META"
Const META_NAME As String = "keywords"
Dim Doc As HTMLDocument
Dim metaElements As Object
Dim element As Object
Dim kwd As String
Set Doc = ie.Document
Set metaElements = Doc.all.tags(META_TAG)
For Each element In metaElements
If element.Name = META_NAME Then
kwd = element.Content
End If
Next
MsgBox kwd
End Sub

Ich habe versucht, die Zeile
Set Doc = ie.Document
anzupassen, z.B.
Set Doc = cells(1,1,)
oder
Set Doc = htm
ohne Erfolg.
Kann mir da jemand weiterhelfen?
Gruß
Martin

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

Betreff
Datum
Anwender
Anzeige
AW: Auslesen von META keywords content aus Zelle
11.06.2016 14:22:34
META
Hallo,
ich bin zufällig auch ein Martin ;-)
Wenn du ohne den Internet Explorer arbeiten möchtest, musst du den Quellcode manuell "durchforsten". Dazu empfehle ich dir die Split-Funktion. Also der richtige Ansatz sollte so aussehen:
    Dim varMetaData As Variant, i As Integer, strTemp As String
varMetaData = Split(Cells(1, 1), "meta name=")
For i = 0 To UBound(varMetaData)
strTemp = Split(varMetaData, "content=")(1)
If kwd = "" Then
kwd = strTemp
Else
kwd = kwd & ", " & strTemp
End If
Next i
MsgBox kwd
In deiner alten Schleife wird die String-Variable kwd ständig überschrieben. Ich habe jetzt mal ein Komma zwischen alle Treffer gesetzt.
Viele Grüße
Martin

Anzeige
AW: Auslesen von META keywords content aus Zelle
11.06.2016 14:43:52
META
Hallo Namensvetter,
für manuelles durchforsten habe ich eine (unelegante) Lösung, daher mein im ersten Posting geschilderter Ansatz.
Trotzdem interessiert mich auch Deine Lösung, ich erhalte aber in der Zeile
strTemp = Split(varMetaData, "content=")(1)
eine Fehlermeldung "Laufzeitfehler 13 Typen unverträglich".
Gruß
Martin

AW: Auslesen von META keywords content aus Zelle
11.06.2016 15:32:12
META
Hallo Martin,
ich hatte vorhin nicht gesehen, dass es dir ja nur um die KeyWords geht. Damit ist es sogar noch einfacher:
    Dim varMetaData As Variant
Dim strDelimiter As String
strDelimiter = "meta name=""" & "keywords""" & " content="
varMetaData = Split(Cells(1, 1).Text, strDelimiter)
MsgBox Split(varMetaData(1), Chr(34))(1)
Viele Grüße
Martin

Anzeige
AW: Auslesen von META keywords content aus Zelle
12.06.2016 12:13:02
META
Hallo Martin,
nachdem ich die Variable varMetaData so deklariert habe
Dim varMetaData() As String
hat es funktioniert. Danke!
Gleichwohl werde ich den Beitrag nochmal auf offen stellen, da meine Ausgangsfrage nicht beantwortet ist.
Gruß
Martin

AW: Auslesen von META keywords content aus Zelle
12.06.2016 12:17:09
META
Hallo,
Martin hat mir zwar einen Lösungsweg aufgezeigt, um aber etwas dazuzulernen, würde ich trotzdem genre noch wissen, wie man den von mir geposteten Code anpassen muss. Daher stelle ich den Beitrag nochmal auf offen.
Alternativ: Wo kann man etwas zu getElementsByTagName und getAttribute nachlesen?
Gruß
Martin

Anzeige
Vergessen auf offen zu stellen (owT)
12.06.2016 12:18:09
mpb

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige