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

PHP & Base de données Discussion :

Recherche spécifique avec l’api Google. [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2006
    Messages : 103
    Points : 64
    Points
    64
    Par défaut Recherche spécifique avec l’api Google.
    Bonjour,
    Je viens vers vous car j’ai quelques difficultés à n’avoir qu’une réponse à la requête que j’émets.
    Explication :
    Je cherche à avoir les informations d’un album de musique avec comme entrée l’artiste et le titre de l’album.
    Avec le code suivant, j’arrive à avoir 4 descriptifs et 4 images de l’album (Voir capture).



    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
     
        <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
        <title>Hello World - Google  Web Search API Sample</title>
        <script src="https://www.google.com/jsapi"
            type="text/javascript"></script>
     
        <script language="Javascript" type="text/javascript">
        //<!
        google.load('search', '1', {"language" : "fr"});
     
        function OnLoad() {
          // Create a search control
          var searchControl = new google.search.SearchControl();
     
     
          // Add in a full set of searchers
          var localSearch = new google.search.LocalSearch();
         // searchControl.addSearcher(localSearch);
          searchControl.addSearcher(new google.search.WebSearch());
          //searchControl.addSearcher(new google.search.VideoSearch());
          //searchControl.addSearcher(new google.search.BlogSearch());
          //searchControl.addSearcher(new google.search.NewsSearch());
          searchControl.addSearcher(new google.search.ImageSearch());
          //searchControl.addSearcher(new google.search.BookSearch());
          //searchControl.addSearcher(new google.search.PatentSearch());
     
          // Set the Local Search center point
         localSearch.setCenterPoint("Paris, Fr");
     
          // tell the searcher to draw itself and tell it where to attach
          searchControl.draw(document.getElementById("searchcontrol"));
     
          // execute an inital search
          searchControl.execute("");
     
     
     
        }
        google.setOnLoadCallback(OnLoad);
     
        //]]>
        </script>
      </head>
      <body> 
        <div id="searchcontrol">Loading</div>
     
      </body>
    </html>


    Objectif : Avoir le descriptif et l’image de l’album.
    L’idéal serai d’avoir un tableau avec l’ensemble des données. Mais bon si déjà j’ai la possibilité de mettre l’url de l’image dans une variable et idem pour le descriptif je serai déjà bien content.
    Ce que je cherche (juste l'aspect information) se trouve encadré en rouge dans la capture d’image.



    En dernier point c’est de ne pas avoir l’input et le submit.

    J’ai déjà fait pas mal de recherche mais je n’arrive pas à m’en sortir, d’où ma venu sur le forum afin de solliciter votre aide.

    En espérant avoir été assez clair.

    S’il existe un meilleur moyen et plus ou moins simple je suis preneur.

    Merci d’avance.

    Nota : j’ai déjà essayé l’API Deezer mais cette dernière n’a pas tout donc difficile de réaliser ce que je souhaite.

    PS : je ne chercher pas un code tout fait mais juste une aide pour arriver à mon but.
    Images attachées Images attachées   

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2006
    Messages : 103
    Points : 64
    Points
    64
    Par défaut Fin
    Bonjour à tous,

    Après de multiple recherches et tests, j 'ai découvert que l'api google nouvelle génération ne donne pas la possibilitée de cibler sur un seule et unique réponse précise.

    Google souhaite que les développeurs passent à la version AJAX. Le problème (avoué par Google) est que la version AJAX ne permet pas de manipuler les résultats comme on peut le faire avec la version SOAP. Autant dire que les outils développés sur WRI ne vont plus pouvoir fonctionner... Je vais donc soit passer à la version AJAX, soit basculer sur une autre API (celle de Yahoo par exemple).
    Source :
    http://www.webrankinfo.com/dossiers/api-google/api-soap
    http://www.webrankinfo.com/dossiers/...oogle-api-soap

    Par conséquent je me suis tourné vers une autre solution ID get tag.

    voila mon cote en espérant que cela aidera ( ou pas).

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
    <?php
    // récupération de l'image de l'album.
    // Important récupération au format "url" Artiste sans espace _ Nom de l'album.
    // Ex : "metallica_deathmagnetic";
    $ch = curl_init();
    $url = "maroon5_overexposed";
    //$url = "demon_midnightfunk";
    curl_setopt($ch, CURLOPT_URL, "http://www.google.fr/images?hl=fr&q=".$url);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $ret=curl_exec($ch);
    curl_close($ch);
    preg_match("#http:[^:]+\.jpg#",$ret,$res);
    //print_r($res);
     
     
    // Affichage dans un tables des informations
     
    ?>
    <table border=0>
    <tr >
    <td rowspan = 5>
    <img src="<?php echo $res[0]; ?>" height="150" width="150" alt="jaquette" />
    </td>
    </tr>
     
    <?php 
    // Récupération des informations de l'album, de l'artiste,... par Getid
    // nom du fichier à analyser
    //$file = '01 The heart is a lonely hunter.wma';
    $file = '01 - One More Night.mp3';
     
    $ThisFileInfo = getTrkId3 ($file);
     
    function getTrkId3 ($filename) {
     // importation de la bibliothèque getid3
     require_once('getID3-1.9.7/getid3/getid3.php');
     
     // création d'un nouvel objet getid3
     $getID3 = new getID3;
     
     // analyse du fichier mp3
     $ThisFileInfo = $getID3->analyze($filename);
     getid3_lib::CopyTagsToComments($ThisFileInfo);
     
     return $ThisFileInfo;
     }
     
    // Gestion de l'affichage en fonction de l'extension du fichier
    $Ext = ".MP3";
    If ($Ext == ".MP3")
    {
    	$Art = "id3v1";
    }
    else
    {
    		$Art = "asf";
    }
    // Affichage dans le tableau.
    ?>
    <tr>
    <td valign=top align=left style="Padding:4;" >
    <?php
    echo '&nbsp;<b>Artiste</b> : <i>'.$ThisFileInfo['tags'][$Art]['artist'][0].'.</i><br>&nbsp;';
     
    echo '<b>Album</b> : <i>'.$ThisFileInfo['tags'][$Art]['album'][0].'.</i><br>&nbsp;';
     
    echo '<b>Genre</b> : <i>'.$ThisFileInfo['tags'][$Art]['genre'][0].'.</i><br>&nbsp;';
     
    If ($Ext == ".MP3")
    {
    echo '<b>Ann&eacute;e</b> : <i>'.$ThisFileInfo['tags'][$Art]['year'][0].'.</i>&nbsp;';
    }
    ?></td>
    </tr>
    </table>
    <?php
    //print_r($ThisFileInfo);
     
     
    ?>
     Adresse pour la bilbiothéque : http://getid3.sourceforge.net/.
     
    Si quelqu'un pense avoir une solution meilleur ou que celle-ci peut être améliorer ne pas hésiter.
     
    Ps : le code n'est pas dans la totalité de mon objectif mais me permet de faire la suite.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. SOAPpy et la recherche d'information avec API google
    Par zakaria spearfishing dans le forum Réseau/Web
    Réponses: 0
    Dernier message: 17/05/2013, 01h32
  2. Réponses: 10
    Dernier message: 09/12/2009, 12h23
  3. Recherche CMS avec intégration de forum phpBB
    Par kirsoul dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 25/03/2006, 12h41
  4. Réponses: 2
    Dernier message: 21/12/2005, 19h33
  5. Recherche "étoilée" avec std::set
    Par guejo dans le forum MFC
    Réponses: 2
    Dernier message: 06/05/2004, 13h28

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