Heim >Java >javaLernprogramm >Kann Java Google ohne eine dedizierte API programmgesteuert durchsuchen?
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!