Verwenden von VBA in Excel zur Google-Suche in IE und Zurückgeben des Hyperlinks des ersten Ergebnisses

8

Ich habe versucht, IE-Automatisierung zu verwenden, um Google eine Textstrange in Excel zu suchen. Ich möchte den Hyperlink für die Website des ersten Ergebnisses in einer anderen Zelle in Excel zurückgeben. Ist das möglich? Ich habe eine Liste von 60.000 Datensätzen, die ich für die Google-Suche brauche und gebe den Hyperlink für die Website im ersten Ergebnis zurück. Gibt es einen anderen Ansatz, den Sie empfehlen würden? Ich schätze die Hilfe im Voraus.

    
Collin Hendo 05.07.2013, 19:25
quelle

2 Antworten

18

Als seine 60.000 Datensätze empfehle ich, das xmlHTTP-Objekt anstelle von IE zu verwenden.
HTTP fordert ein einfacher und viel schneller

Laden Sie die Beispieldatei hier herunter

%Vor%

HTH
Santosh

    
Santosh 06.07.2013, 03:51
quelle
0

Die Links scheinen innerhalb von H3-Tags konsistent zu sein. Normalerweise können Sie Folgendes verwenden, um zu prüfen, ob die Seite geladen wurde:

%Vor%

Ich würde jedoch stattdessen wiederholt versuchen, das Element A innerhalb des ersten H3 mit getElementsByTagName("H3") zu referenzieren, das erste dieser Elemente zu erhalten und dann innerhalb dieses Elements nach dem A-Link und seinem href-Attribut zu suchen.

In JavaScript würden die Versuche, nicht vorhandene Elemente zu referenzieren, undefined zurückgeben, aber von VBA wird wahrscheinlich Code zur Fehlerbehandlung benötigt.

Nachdem ich die href erhalten hatte, stoppte ich die Navigation (ich bin mir nicht sicher, ob der Befehl dafür richtig ist, wahrscheinlich ie.Stop ) oder navigiere sofort zur nächsten Seite.

Die ersten Links werden jedoch oft gesponserte Links sein, und die zurückgegebene href ist ein wenig verstümmelt. Der Text dieser gesponserten Links enthält em -Tags. Ich könnte diese Informationen verwenden, um diese Links zu verwerfen und weiter unten auf der Seite nachzusehen.

Ich weiß nicht, ob es einen besseren Weg dafür gibt.

    
Andy G 05.07.2013 20:23
quelle

Tags und Links