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

avec Java Discussion :

Récupérer le nombre de résultats retournés par Google


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 14
    Points : 22
    Points
    22
    Par défaut Récupérer le nombre de résultats retournés par Google
    Dans le cadre d'un projet, je dois récupérer le nombre les résultats de recherche retournés par Google, avec un programme java automatiquement. Ces résultats me servent dans l'application principale.

    J'ai écris mon programme et je n'ai aucune erreur syntaxique mais lors de l’exécution j'ai une erreur que je n'arrive pas à corriger depuis quelques jours.

    Voila mon programme :

    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
    import com.googleapis.ajax.common.PagedList;
    import com.googleapis.ajax.services.GoogleSearchQueryFactory;
    import com.googleapis.ajax.services.WebSearchQuery;
     
    public class googleSearch {
     
        public static void main(String[] args) {
     
        GoogleSearchQueryFactory factory = GoogleSearchQueryFactory.newInstance("myGoogleKey");
    WebSearchQuery query = factory.newWebSearchQuery();
    PagedList<com.googleapis.ajax.schema.WebResult> response = query.withQuery("hadoop").list();
    System.out.println(response.getCurrentPageIndex());
    System.out.println(response.getEstimatedResultCount());
    System.out.println(response.getMoreResultsUrl());
    System.out.println(response.getPages());
    for (   com.googleapis.ajax.schema.WebResult result : response) {
            System.out.println(result.getTitle());                  
            //System.out.println(result.getContent());                        
            System.out.println(result.getUrl());                    
            System.out.println("======================================="); 
     
    }
       }
    }

    et voila l'erreur :

    run:
    Exception in thread "main" com.googleapis.ajax.services.GoogleSearchException: com.google.gson.JsonParseException: Failed parsing JSON source: java.io.InputStreamReader@1dd2519 to Json
    at com.googleapis.ajax.services.impl.BaseGoogleSearchApiQuery.list(BaseGoogleSearchApiQuery.java:111)
    at googleSearch.main(googleSearch.java:29)
    Caused by: com.google.gson.JsonParseException: Failed parsing JSON source: java.io.InputStreamReader@1dd2519 to Json
    at com.google.gson.JsonParser.parse(JsonParser.java:57)
    at com.googleapis.ajax.services.impl.BaseGoogleSearchApiQuery.list(BaseGoogleSearchApiQuery.java:103)
    ... 1 more
    Caused by: com.google.gson.TokenMgrError: Lexical error at line 1, column 1. Encountered: "<" (60), after : ""
    at com.google.gson.JsonParserJavaccTokenManager.getNextToken(JsonParserJavaccTokenManager.java:1193)
    at com.google.gson.JsonParserJavacc.jj_ntk(JsonParserJavacc.java:635)
    at com.google.gson.JsonParserJavacc.parse(JsonParserJavacc.java:10)
    at com.google.gson.JsonParser.parse(JsonParser.java:54)
    ... 2 more
    Java Result: 1
    BUILD SUCCESSFUL (total time: 10 seconds)

  2. #2
    Membre confirmé Avatar de ruscov
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2007
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2007
    Messages : 347
    Points : 500
    Points
    500
    Par défaut
    Je dirais qu'à priori, tu ne reçois pas de format JSON en retour.
    Passe en mode debug et regarde ce que tu reçois dans ta variable.
    Mes logiciels n’ont jamais de bug. Ils développent juste certaines fonctions aléatoires.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 14
    Points : 22
    Points
    22
    Par défaut
    Bonjour ;
    Merci pour votre remarque;
    On fait; ça marche maintenant;

    Mais je n'arrive pas à recupurer le nombre de resultats retournés par google :

    exemple si je fais le mot "plante" comme ma requette de recherche :

    mon programme donne : 5280000 results
    google donne :43,500,000 results

    une enorme difference;

    pouviez vous m'expliquer cette difference entre une recherche directe sur google, et une recherche on utilisant l'API google.


    Cordialement;
    S.B

  4. #4
    Membre confirmé Avatar de ruscov
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2007
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2007
    Messages : 347
    Points : 500
    Points
    500
    Par défaut
    C'est probablement une limitation normale de l'API. Il faut voir ce que la documentation dit.
    Mes logiciels n’ont jamais de bug. Ils développent juste certaines fonctions aléatoires.

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 14
    Points : 22
    Points
    22
    Par défaut problème avec l'API google search
    Bonjour;
    j'ai un grand probleme avec les resultats de mon programme;il donne des resultats le premier temps; puis il se bloque; puis il se debloque.....ainsi de suite :

    voila le message d'erreur : s'il ya qu'un (une) qui pourra m'aider

    Exception in thread "main" com.googleapis.ajax.services.GoogleSearchException: com.googleapis.ajax.services.GoogleSearchException: Suspected Terms of Service Abuse. Please see http://code.google.com/apis/errors
    at com.googleapis.ajax.services.impl.BaseGoogleSearchApiQuery.list(BaseGoogleSearchApiQuery.java:111)
    at distancesemantic.GoogleResults.main(GoogleResults.java:31)
    Caused by: com.googleapis.ajax.services.GoogleSearchException: Suspected Terms of Service Abuse. Please see http://code.google.com/apis/errors
    at com.googleapis.ajax.services.impl.BaseGoogleSearchApiQuery.unmarshallList(BaseGoogleSearchApiQuery.java:127)
    at com.googleapis.ajax.services.impl.BaseGoogleSearchApiQuery.list(BaseGoogleSearchApiQuery.java:105)
    ... 1 more
    Java Result: 1

    Merci d'avance.

  6. #6
    Membre confirmé Avatar de ruscov
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2007
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2007
    Messages : 347
    Points : 500
    Points
    500
    Par défaut
    Je pense que le message est clair : Suspected Terms of Service Abuse.
    Tu outrepasse la licence qui t'a été accordée par Google. Tu fais probalement trop de requêtes.

    Tu es dans la ligne de mire de PRISM maintenant
    Mes logiciels n’ont jamais de bug. Ils développent juste certaines fonctions aléatoires.

Discussions similaires

  1. [RegEx] Récupérer le nombre de résultats d'une recherche google
    Par baffreux dans le forum Langage
    Réponses: 6
    Dernier message: 15/01/2013, 11h44
  2. [RegEx] Récupérer le nombre de résultats google
    Par t.delclite dans le forum Langage
    Réponses: 4
    Dernier message: 13/04/2012, 17h22
  3. Réponses: 4
    Dernier message: 28/05/2010, 17h11
  4. Réponses: 1
    Dernier message: 28/11/2007, 09h13
  5. limiter le résultat retourné par le count
    Par SuperFoustan dans le forum Langage SQL
    Réponses: 8
    Dernier message: 05/08/2003, 12h10

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