Heim >Java >javaLernprogramm >Kann Java Google ohne eine dedizierte API programmgesteuert durchsuchen?

Kann Java Google ohne eine dedizierte API programmgesteuert durchsuchen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-23 14:02:131063Durchsuche

Can Java Programmatically Search Google Without a Dedicated API?

So durchsuchen Sie Google programmgesteuert mithilfe der Java-API

Dieser Artikel untersucht den Prozess der programmgesteuerten Suche bei Google und konzentriert sich dabei insbesondere auf die Verfügbarkeit einer Java-API für diesen Zweck.

Verwendung der Google Web Search API

Ursprünglich bot Google ein öffentliches Web an Such-API, die Daten im JSON-Format zurückgegeben hat. Dieser Dienst ist jedoch inzwischen veraltet. Seit November 2010 besteht die beste Alternative darin, die Suchmaschine von Google direkt mit einem Benutzeragenten abzufragen und dann die HTML-Antwort mit einem Parser wie Jsoup zu analysieren.

Java-Implementierung

Zuerst richten wir die Variablen ein und legen die Such-URL fest:

String google = "http://www.google.com/search?q=";
String search = "stackoverflow";
String charset = "UTF-8";
String userAgent = "ExampleBot 1.0 (+http://example.com/bot)"; // Customize for your bot

Als nächstes machen wir Verwenden Sie Jsoup, um die HTTP-Anfrage zu stellen und den HTML-Code zu analysieren:

Elements links = Jsoup.connect(google + URLEncoder.encode(search, charset)).userAgent(userAgent).get().select(".g>.r>a");

Schließlich durchlaufen wir die Suchergebnisse und extrahieren den Titel und die URL:

for (Element link : links) {
    String title = link.text();
    String url = link.absUrl("href");
    url = URLDecoder.decode(url.substring(url.indexOf('=') + 1, url.indexOf('&')), "UTF-8");
    if (!url.startsWith("http")) {
        continue; // Ads/news/etc.
    }

Das obige ist der detaillierte Inhalt vonKann Java Google ohne eine dedizierte API programmgesteuert durchsuchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn