Wer weiß, wie man mit VB eine Abfrage an einer Suchmaschine durchführt?
ich möchte mit VB 5.0 ein Programm schreiben, dass über das Internet z.B. bei Yahoo eine Abfrage durchführt und die Ergebnisse auswertet. Das Problem ist, dass man ,wenn man den HTML-Code mit z.B. den WebBrowser-Steuerelement herunterlädt, immer ein wirrwarr aus Javascript erhält und keine konkreten Links.
Patrick2009-03-25T08:12:12Z
Beste Antwort
Hi! Ich programmiere im Moment nur VB.NET, aber ich glaube in VB 5 ist das auch so:
Falls Du die Seite mit dem Webbrowser-Steuerelement ansiehst, ist es einfach. Da kann man nämlich per Javascript (sieht so aus) auf die Elemente zugreifen, die im Dokument die Links auf die Ergebnisseiten enthalten. Wenn man die Google-Ergebnisseite mit Firebug untersucht, sieht man, dass alle Links die Klasse "l" (kleines L). Mit dem Webbrowser kann man so darauf zugreifen:
Dim erstesergebnislink As String erstesergebnislink = GeckoWebBrowser1.Document.GetElementsByClassName("l").Item(0).Attributes.Item("href").TextContent.ToString
(Hat ziemlich lange gedauert, das herauszufinden.)
Sonst kann man, wenn man das Dokument irgendwie heruntergeladen hat, die html-Datei als XML-Dokument behandeln (ist ja auch eigentlich xml) und so darauf zugreifen.
Dim seite As System.Xml.XmlDocument Dim linkurl As String
seite = New System.Xml.XmlDocument seite.load("Seite.html") linkurl = seite.GetElementById("res").SelectNodes("div").Item(0).SelectSingleNode("ol").SelectNodes("li").Item(0).SelectSingleNode("a").Attributes.Item("href").InnerText.ToString()
Man kann, wenn man die seite als string hat, und nicht als Datei, statt seite.load("Seite.html")
seite.LoadXml(string mit "<html>...</html>")
benutzen.
Falls Du Rückfragen hast, schick mir doch eine Mail.