Maison > Java > javaDidacticiel > 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
Libérer: 2024-11-23 14:02:13
original
1085 Les gens l'ont consulté

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
Copier après la connexion

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");
Copier après la connexion

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.
    }
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal