Webseite einlesen

Diese Funktion läuft auch mit VBScript, ASP, VBA.

Aufruf (Beispiel):

fetch_page = getURL("<a href="http://www.example.com/")" target="blank">http://www.example.com/")</a>
msgbox fetch_page
Private Function GetURL(URL)
 
  ' --- Konstanten für die Verwendung eines ADODB.Stream-Objektes
  Const adTypeText = 2
  Const adReadAll = -1
 
  ' --- Instantiieren des Objekts MSXML2.ServerXMLHTTP
'  Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.4.0")
 
  ' --- für XML 3 !
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
 
  ' --- Instantiieren des
  Set objStream = CreateObject("ADODB.Stream")
  ' --- Einstellen der Timeouts in Millisekunden
  ' --- Es gibt 4 Parameter, die in der nachstehenden Reihenfolge angegeben werden müssen
  ' -----------------------------------------------------
  ' --- resolveTimeout - Auflösen des Hostnamens
  ' --- connectTimeout - Verbinden mit dem Host
  ' --- sendTimeout - Senden eines Datenpaketes an den Server
  ' --- receiveTimeout - Empfangen eines Datenpaketes vom Server
  ' -----------------------------------------------------
  objHTTP.SetTimeouts 5000, 5000, 5000, 5000
 
  ' --- Erstellen des Requests mit folgenden Parametern
  ' --- bstrMethod - Request-Methode
  ' --- bstrURL - Adresse der Seite, die ausgelesen werden soll
  ' --- varAsync - Laden der Seite asynchron (Wenn false, wird synchron geladen)
  objHTTP.open "GET", URL, false
 
  ' --- Senden des Requests
  objHTTP.send
 
  ' --- Datenstrom öffnen und den Typ TEXT festlegen
  objStream.Open
  objStream.Type = adTypeText
 
  ' --- Den Inhalt des ResponseBody in das Stream-Objekt schreiben
  objStream.WriteText(objHttp.ResponseBody)
 
  ' --- An den Anfang des "Stromes" positionieren
  objStream.Position = 0
 
  ' --- Deuschsprachingen Zeichensatz einstellen
  objStream.Charset = "latin1"
 
  ' --- Der gesamte Text der geladenen Seite wird jetzt in das Stream-Objekt
  ' --- eingelesen und als Rückgabewert der Funktion GetURL zugewiesen.
  ' --- Und abschließend muss das Objekt wieder geschlossen werden.
  GetURL = objStream.ReadText(adReadAll)
  objStream.close
 
  ' --- Terminieren der Objekte
  Set objStream = Nothing
  Set objHTTP = Nothing
End Function

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.