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 :

Faire une recherche Google avec exécution du Javascript


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 1
    Par défaut Faire une recherche Google avec exécution du Javascript
    Bonjour,

    J'essaie de récupérer le code HTML d'une recherche Google avec ce code (grosso modo) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    URL url = new URL( "https://www.google.fr/search?q=Ma+Recherche+Google" );
    URLConnection con = url.openConnection();
    InputStream input = con.getInputStream();
    OutputStream output = new FileOutputStream("source.html");
    byte[] buffer = new byte[8192];
     
    while ( (len = input.read(buffer)) > 0) 
    {
            output.write(buffer, 0, len);
    }
    output.flush();
    output.close();
    input.close();
    Le problème est que j'obtiens de Google une version différente de celle que j'aurais obtenu si j'avais effectué cette requête avec un navigateur. Si je comprends bien, Google m'envoie une réponse sans exécution au préalable de code javascript et c'est le code html généré par le javascript qui m'intéresse.

    Comment puis-je faire ?

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    Google ne veut pas que tu fasses ça et a donc dépêché son armée d'ingénieurs à trouver des solutions pour que tu n'y arrives jamais.

    Ça ne devrait donc pas être surprenant, que nous soyons incapables de te dire comment faire. Il faudrait déjà qu'on ait été capables nous-mêmes de déjouer leur système de protection. Alors l'expliquer ensuite à un débutant... Ce n'est pas exactement du domaine du possible.

    Il y a des gens qui y arrivent. Il existe des services pour faire une recherche Google et obtenir les résultats automatiquement, avec une API faite pour. Le service le moins cher que je connais coûte 50 dollars par mois pour avoir le droit de faire 1000 recherches. C'est ça, le prix de la solution qui passe outre les protections de Google.

    Ah, important : je sais qu'un tel service est ou était pendant longtemps considéré comme légal aux États-Unis. Ce n'est pas du tout acquis qu'il le soit en France. C'est à faire valider par un avocat (de toute façon, aux États-Unis aussi ce serait assez inconscient de ne pas avoir un avocat qui gère la question.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Hello,

    Citation Envoyé par thelvin Voir le message
    Google ne veut pas que tu fasses ça et a donc dépêché son armée d'ingénieurs à trouver des solutions pour que tu n'y arrives jamais.
    es-tu sûr de ça? je n'ai rien trouvé de tel dans la litérature et même plutôt le contraire: https://developers.google.com/custom-search/v1/overview, https://stackoverflow.com/questions/...cally-java-api.

    C'est possible en passant par les api fournies par Google (100 recherches gratuites par jour). Il semble être interdit de parser les résultats de la page html, même si techniquement, en fournissant un User-Agent correct ça pourrait se faire.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Tu parles du Custom Search, ce n'est pas la même chose. Il ne cherchera que sur le site qui a enregistré l'usage de Custom Search.

    La question semble porter sur le fait de faire une recherche Google normale portant sur le web tout entier comme le ferait quelqu'un qui fait une recherche Google.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [PHP 5.4] Creer un script pour faire une recherche avec Google
    Par Ludovic Barry dans le forum Langage
    Réponses: 3
    Dernier message: 24/12/2019, 14h18
  2. Comment faire une carte google avec tracé "vol d’oiseau" ?
    Par bndd24 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 14/02/2016, 13h57
  3. Réponses: 7
    Dernier message: 08/06/2010, 09h42
  4. [MySQL] Faire une recherche dans un tableau créer par mysql_fetch_array avec in_array
    Par arnaudperfect dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 12/11/2007, 15h13
  5. Faire une recherche avec/sans accents
    Par Wedge3D dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 21/02/2007, 10h43

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