title image


Smiley Re: URLGrabber in VBA
Hi!



Wo ist das Problem? Allerdings brauchst du dafür schon C oder wenigstens VB. VBA ist zu schwach. Du brauchst nur wenige Funktionen, wie z. B. Links filtern, HTML-Seiten downloaden und Datenbankzugriff. Um sowas zu realisieren reicht Excel nicht, dazu brauchst du schon Access oder MySQL. Du fängst mit einer einfachen Funktion an (Alle Beispiele sind VB.NET!):

Public Function HTMLSeite(ByVal URL As String) As String

On Error Resume Next

Dim i As Byte

Neustart:

i = i + 1

Err.Clear()

Dim wc As New System.Net.WebClient()

Dim s As System.IO.Stream = wc.OpenRead(URL)

Dim r As String

Dim sr As System.IO.StreamReader = New System.IO.StreamReader(s, System.Text.Encoding.UTF7, False)

r = sr.ReadToEnd()

Application.DoEvents()

If Err.Number <> 0 Then

Application.DoEvents()

If i > 50 Then Return ""

GoTo Neustart

End If

Err.Clear()

Return r

End Function

Mit dieser Funktion kann man HTML-Seiten aus dem Inet laden, wie das unter VB6 geht kannst du hier im Forum suchen (Internet Transfer Control). Eine weitere Funktion ist das abspeichern, der gesammte Source ist jetzt zu lang, deshalb nur eine Andeutung:Public Sub Datenbank(ByVal URL As String, ByVal Keywoerter As String)

'Datenbankzugriff

'URL mit Schlüsselwörtern in die DB schreiben

End Function

So, nun müssen alle Daten verabeitet werden:Public Sub LeseHtmlSeite(ByVal Adresse As String)

Dim Temp As String = HTMLSeite(Adresse)

Dim Metatag As String, Link As String

'Metatags auslesen

Do While InStr(Temp.ToLower(), "<meta") > 0

Temp = Mid(Temp, InStr(Temp.ToLower(), "<meta") - 1)

Metatag = Left(Temp, InStr(Temp, ">") + 1)

'...

'Metatag verarbeiten und speichern

'...

Datenbank(Adresse, Metatag)

Temp = Mid(Temp, 2)

Loop

'Links auslesen

Do While InStr(Temp.ToLower(), "href=") > 0

Temp = Mid(Temp, InStr(Temp.ToLower(), "href=") + 5)

'...

'Link auslesen und mit LeseHtmlSeite wieder aufrufen

'...

LeseHtmlSeite(Link)

Loop

End Sub

Naja, ich schreibe dir nicht das ganze Programm :-)



MfG

Mr. S

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: