2010-04-27 4 views
1

Je me demande, est-il possible de recevoir des résultats google sur leur propre API ajax d'une manière comme, 100 résultats par page?API de recherche Ajax de Google

Sans champ de recherche visible, j'aimerais obtenir les résultats en arrière-plan pour créer une progression pour certaines expressions de recherche.

Ma question fondamentale est, quelles sont les restrictions de l'API de recherche google?

--update--

est-il possible de changer la langue pour une recherche avec google api? Dès le début sur, il offre seulement de .com en anglais

Cordialement

--Andy

+0

Ajout d'informations sur le langage. – Finbarr

Répondre

7

Le plus grand nombre de résultats que vous pouvez obtenir est 64, 8 par page du chercheur.

Il est possible de combiner tous ces éléments en une seule page, mais cela implique que le chercheur passe 8 appels à l'API de recherche Ajax de Google.

De plus, vous devrez créer votre propre fonction pour rendre les résultats:

var s; 
var page = 1; 

google.load('search', '1', {'nocss' : true}); 
google.load('jquery', '1.4.2'); // optional 

google.setOnLoadCallback(function() { 
    // T&C's state you should display branding, create a <div id="branding"></div> 
    google.search.Search.getBranding(document.getElementById('branding')); 
    s = new google.search.WebSearch(); 
    s.setResultSetSize(google.search.Search.LARGE_RESULTSET); 
    s.setSearchCompleteCallback(this, searchComplete, null); 
    s.setNoHtmlGeneration(); 
}); 

function searchComplete() { 
    if(s.results && s.results.length > 0) { 
     var results = s.results; 
     for(var i = 0; i < results.length; i++) { 
      var result = results[i]; 
      // render the results 
     } 
     if(page < 8) { 
      s.gotoPage(page); 
      page++; 
     } 
    } 
} 

Pour plus d'informations sur la façon de rendre vos résultats voir: http://code.google.com/apis/ajaxsearch/documentation/reference.html#_class_GwebResult

Pour changer la langue, ajoutez l'argument hl en incluant le script dans les pages web:

<script src="http://www.google.com/jsapi?hl=en" type="text/javascript"></script>

+0

êtes-vous sûr de régler le hl fonctionne? Je peux le mettre à tout ce que je veux, je reçois le résultat toujours dans la langue de mon pays. – jAndy

0

http://code.google.com/apis/ajaxsearch/documentation/reference.html#_class_GSearchControl Cela a des informations sur la classe principale du contrôleur utilisé. Il semble que ce qui suit répond à votre question sur la taille du résultat:

.setResultSetSize (SwitchTo)

Cette méthode est appelée pour sélectionner le numéro des résultats renvoyés par chacun des les chercheurs. Notez que ce n'est pas un scalaire . C'est une énumération qui indique soit un petit nombre de résultats , soit un grand nombre de résultats. À l'avenir, cette méthode peut être améliorée pour prendre en charge les grands ensembles de résultats moyens et supplémentaires . À partir des exemples d'applications , vous avez probablement vu le contrôle twiddle plus/moins au sommet du contrôle de recherche. Cette méthode est utilisée par ce contrôle de twiddle.

SwitchTo - fournitures en énumération qui indique le nombre souhaité de résultats de la recherche pour revenir pour chaque de recherche est configuré. Les valeurs valides comprennent: google.search.Search.LARGE_RESULTSET - demande un grand nombre de résultats (typiquement 8 résultats) google.search.Search.SMALL_RESULTSET - demande un petit nombre de résultats (typiquement 4 résultats) google.search.Search.FILTERED_CSE_RESULTSET - demande jusqu'à 10 résultats. Cela ne fonctionnera que pour les requêtes de recherche Web portée à un filtre Custom Search moteur, sinon une erreur sera retournée. retourne - n/a

0

Voici mon code:

<script src="https://www.google.com/jsapi?key=GOOGLE_SEARCH_KEY" type="text/javascript"></script> 
<script language="Javascript" type="text/javascript"> 
//<![CDATA[ 
google.load("search", "1"); 

function OnLoad() { 
    // Create a search control 
    var searchControl = new google.search.SearchControl(); 
    var options = new google.search.SearcherOptions(); 
    options.setExpandMode(google.search.SearchControl.EXPAND_MODE_OPEN); 
    searchControl.addSearcher(new google.search.WebSearch(),options); 
    searchControl.setResultSetSize(google.search.Search.LARGE_RESULTSET); 
    // Tell the searcher to draw itself and tell it where to attach 
    searchControl.draw(document.getElementById("searchcontrol")); 
} 
google.setOnLoadCallback(OnLoad); 
//]]> 
</script> 
<style>.gsc-control { width: 80%; } input.gsc-search-button { border: 1px solid black; }</style> 
Questions connexes