Maison  >  Article  >  Java  >  Java peut-il effectuer une recherche par programmation sur Google sans API dédiée ?

Java peut-il effectuer une recherche par programmation sur Google sans API dédiée ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-23 14:02:131014parcourir

Can Java Programmatically Search Google Without a Dedicated API?

Comment effectuer une recherche Google par programmation à l'aide de l'API Java

Cet article examine le processus de recherche Google par programmation, en se concentrant spécifiquement sur la disponibilité d'une API Java à cet effet.

Utilisation de l'API de recherche Web de Google

À l'origine, Google proposait un site Web public API de recherche qui a renvoyé des données au format JSON. Cependant, ce service est depuis obsolète. Depuis novembre 2010, la meilleure alternative consiste à interroger le moteur de recherche de Google directement à l'aide d'un agent utilisateur, puis à analyser la réponse HTML à l'aide d'un analyseur tel que Jsoup.

Implémentation Java

Tout d'abord, configurons les variables et établissons l'URL de recherche :

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

Ensuite, nous utilisons Jsoup pour faire la requête HTTP et analyser le HTML :

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

Enfin, nous parcourons les résultats de la recherche et extrayons le titre et l'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.
    }

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn