IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

API moteur de recherche


Sujet :

Java

  1. #1
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut API moteur de recherche
    Bonjour à tous,

    Je recherche une API de moteur de recherche qui puisse faire des requetes assez rapidement et facilement, que je puisse intégrer sur une application locale.
    Je veux lancer une recherche en utilisant une phrase et que cela me retourne 10 résultats (cad 10 url) dans lequel cette phrase est présente.

    J'ai vu que Google possède une API Ajax, mais j'ai aps trop bien compris le principe (je pense que c'est utilisable uniquement sur un site internet).

    Quelqu'un peut-il m'ne dire plus sur mon probleme

    D'avance merci

    PS: c'est pour intégrer dans une application Java bien sûr

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    http://code.google.com/intl/fr/apis/...fonje_snippets

    Il y a un example pour java, qui nécessite l'ajout de la librairie JSON an classpath.

  3. #3
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    Merci sinok, mais 'avais déjà vu ce bout de code, mais je ne comprends pas son fonctionnement (j'ai mis 2 questions à l'intérieur du code):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    URL url = new URL("http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=Paris%20Hilton");
    // 1- est-ce que cette url reste telle quelle?
    URLConnection connection = url.openConnection();
    connection.addRequestProperty("Referer", "http://www.mysite.com/index.html");
    //2- Faut-il remplacer 'Referer' et 'mysite' par quelque chose? Si oui, par quoi?
     
    String line;
    StringBuilder builder = new StringBuilder();
    BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    while((line = reader.readLine()) != null) {
     builder.append(line);
    }
     
    JSONObject json = new JSONObject(builder.toString());
    // now have some fun with the results...
    J'ai testé ce bout de code comme je pensais, mais ca fonctionne pas, j'ai un TIMEOUT et je ne sais pas d'où cela provient! Voici le bout de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    public static void main(String[] args)
    	{
     
    		try
    		{
    			URL url = new URL("http://ajax.googleapis.com/ajax/services/search/web?start=0&rsz=large&v=1.0&q=");
    			URLConnection connection = url.openConnection();
    			connection.addRequestProperty("foot", "http://www.google.com");
    			String line;
    			StringBuilder builder = new StringBuilder();
    			BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    			while ((line = reader.readLine()) != null)
    			{
    				builder.append(line);
    			}
    			JSONObject json = new JSONObject(builder.toString());
    			// now have some fun with the results...
    			System.out.println("Total results = " + json.getJSONObject("responseData").getJSONObject("cursor").getString("estimatedResultCount"));
    			JSONArray ja = json.getJSONObject("responseData").getJSONArray("results");
     
    			System.out.println(" Results:");
    			for (int i = 0; i < ja.length(); i++)
    			{
    				System.out.print((i + 1) + ". ");
    				JSONObject j = ja.getJSONObject(i);
    				System.out.println(j.getString("titleNoFormatting"));
    				System.out.println(j.getString("url"));
    			}
    		}
    		catch (Exception e)
    		{
    			System.out.println("erreur " + e);
    		}
    	}

    J'ai utilisé il y a 2 ans API SOAP de google, qui etait limitée à 1000 requêtes par jours et qui etait assez lente, est-ce que cette API Ajax est plus rapide?

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    L'api AJAX est plus rapide que l'API SOAP qui est plus ou moins décédée.
    POur ton histoire de timeout, tu ne serais pas derrière un proxy par le plus grand des hasards?

  5. #5
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    ah si, bien vu!!! Je suis deriere le proxy du boulot mais j'en ai pas chez moi (à la maison)

    Tu pense qu'il est possible de passer ce proxy? Ou la manoeuvre est-elle complexe à tel point que tu me conseille de tester chez moi?

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Cf FAQ

  7. #7
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    Ok, j'ai reussi à le faire tourner, ca tourne tres bien,

    J'ai lancé 5000 memes requetes, ca a l'air de passer et c'est tres rapide (cela dit, j'ai essayé 5000 fois la meme requetes, pas 5000 requetes différentes, y a-t-il un cache des recherches qui a peut-etre accéléré celles-ci?)

    Pensez-vous qu'il ait une limite de nombre de transactions par jour?

Discussions similaires

  1. Patience dans le moteur de recherche avec formulaire hors api
    Par cmail dans le forum IGN API Géoportail
    Réponses: 2
    Dernier message: 18/12/2012, 13h43
  2. Un moteur de recherche de l'API sur un CMS
    Par Zébulon-21 dans le forum IGN API Géoportail
    Réponses: 4
    Dernier message: 18/03/2010, 10h59
  3. comment faire ma base de donnée pour un moteur de recherche
    Par HoB dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 04/05/2004, 15h07
  4. Moteur de recherche par date
    Par Prue dans le forum ASP
    Réponses: 17
    Dernier message: 27/08/2003, 16h07
  5. [Technique] Index, comment font les moteurs de recherche ?
    Par bat dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 25/10/2002, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo