Visualizzazione dei risultati da 1 a 6 su 6

Discussione: API Google Search

  1. #1

    API Google Search

    Salve,

    ho trovato sul sito tutorialzine.com uno script che permette l'uso delle api di google per cercare contenuto all'interno del proprio sito ....

    funziona perfettamente .... ma il mio problema è questo

    lo script mi da un elenco di pagine trovate con la mia ricerca es:

    Titolo pagina trovata 1
    Decrizione breve della pagina trovata 1
    http://wwwtuodominio.it/Paginatrovata1.asp?ID12

    Titolo pagina trovata 2
    Decrizione breve della pagina trovata 2
    http://wwwtuodominio.it/Paginatrovata2.asp

    vorrei poter intercettare la parola cercata e passare la stessa attraverso il link es:
    http://wwwtuodominio.it/Paginatrovat...Parola+Cercata

    Codice PHP:

    $(document).ready(function(){
        
        var 
    config = {
            
    siteURL        'tutorialzine.com',    // Change this to your site
            
    searchSite    true,
            
    type        'web',
            
    append        false,
            
    perPage        8,            // A maximum of 8 is allowed by Google
            
    page        0                // The start page
        
    }
        
        
    // The small arrow that marks the active search icon:
        
    var arrow = $('<span>',{className:'arrow'}).appendTo('ul.icons');
        
        $(
    'ul.icons li').click(function(){
            var 
    el = $(this);
            
            if(
    el.hasClass('active')){
                
    // The icon is already active, exit
                
    return false;
            }
            
            
    el.siblings().removeClass('active');
            
    el.addClass('active');
            
            
    // Move the arrow below this icon
            
    arrow.stop().animate({
                
    left        el.position().left,
                
    marginLeft    : (el.width()/2)-4
            
    });
            
            
    // Set the search type
            
    config.type el.attr('data-searchType');
            $(
    '#more').fadeOut();
        });
        
        
    // Adding the site domain as a label for the first radio button:
        
    $('#siteNameLabel').append(' '+config.siteURL);
        
        
    // Marking the Search tutorialzine.com radio as active:
        
    $('#searchSite').click();    
        
        
    // Marking the web search icon as active:
        
    $('li.web').click();
        
        
    // Focusing the input text box:
        
    $('#s').focus();

        $(
    '#searchForm').submit(function(){
            
    googleSearch();
            return 
    false;
        });
        
        $(
    '#searchSite,#searchWeb').change(function(){
            
    // Listening for a click on one of the radio buttons.
            // config.searchSite is either true or false.
            
            
    config.searchSite this.id == 'searchSite';
        });
        
        
        function 
    googleSearch(settings){
            
            
    // If no parameters are supplied to the function,
            // it takes its defaults from the config object above:
            
            
    settings = $.extend({},config,settings);
            
    settings.term settings.term || $('#s').val();
            
            if(
    settings.searchSite){
                
    // Using the Google site:example.com to limit the search to a
                // specific domain:
                
    settings.term 'site:'+settings.siteURL+' '+settings.term;
            }
            
            
    // URL of Google's AJAX search API
            
    var apiURL 'http://ajax.googleapis.com/ajax/services/search/'+settings.type+'?v=1.0&callback=?';
            var 
    resultsDiv = $('#resultsDiv');
            
            $.
    getJSON(apiURL,{q:settings.term,rsz:settings.perPage,start:settings.page*settings.perPage},function(r){
                
                var 
    results r.responseData.results;
                $(
    '#more').remove();
                
                if(
    results.length){
                    
                    
    // If results were returned, add them to a pageContainer div,
                    // after which append them to the #resultsDiv:
                    
                    
    var pageContainer = $('<div>',{className:'pageContainer'});
                    
                    for(var 
    i=0;i<results.length;i++){
                        
    // Creating a new result object and firing its toString method:
                        
    pageContainer.append(new result(results[i]) + '');
                    }
                    
                    if(!
    settings.append){
                        
    // This is executed when running a new search, 
                        // instead of clicking on the More button:
                        
    resultsDiv.empty();
                    }
                    
                    
    pageContainer.append('<div class="clear"></div>')
                                 .
    hide().appendTo(resultsDiv)
                                 .
    fadeIn('slow');
                    
                    var 
    cursor r.responseData.cursor;
                    
                    
    // Checking if there are more pages with results, 
                    // and deciding whether to show the More button:
                    
                    
    if( +cursor.estimatedResultCount > (settings.page+1)*settings.perPage){
                        $(
    '<div>',{id:'more'}).appendTo(resultsDiv).click(function(){
                            
    googleSearch({append:true,page:settings.page+1});
                            $(
    this).fadeOut();
                        });
                    }
                }
                else {
                    
                    
    // No results were found for this search.
                    
                    
    resultsDiv.empty();
                    $(
    '

    '
    ,{className:'notFound',html:'No Results Were Found!'}).hide().appendTo(resultsDiv).fadeIn();
                }
            });
        }
        
        function 
    result(r){
            
            
    // This is class definition. Object of this class are created for
            // each result. The markup is generated by the .toString() method.
            
            
    var arr = [];
            
            
    // GsearchResultClass is passed by the google API
            
    switch(r.GsearchResultClass){

                case 
    'GwebSearch':
                    
    arr = [
                        
    '<div class="webResult">',
                        
    '<h2>[url="',r.unescapedUrl,'"]',r.title,'[/url]</h2>',
                        
    '

    '
    ,r.content,'</p>',
                        
    '[url="',r.unescapedUrl,'"]',r.visibleUrl,'[/url]',
                        
    '</div>'
                    
    ];
                break;
                case 
    'GimageSearch':
                    
    arr = [
                        
    '<div class="imageResult">',
                        
    '<a target="_blank" href="',r.unescapedUrl,'" title="',r.titleNoFormatting,'" class="pic" style="width:',r.tbWidth,'px;height:',r.tbHeight,'px;">',
                        
    '[img]',r.tbUrl,'[/img]</a>',
                        
    '<div class="clear"></div>','[url="',r.originalContextUrl,'"]',r.visibleUrl,'[/url]',
                        
    '</div>'
                    
    ];
                break;
                case 
    'GvideoSearch':
                    
    arr = [
                        
    '<div class="imageResult">',
                        
    '<a target="_blank" href="',r.url,'" title="',r.titleNoFormatting,'" class="pic" style="width:150px;height:auto;">',
                        
    '[img]',r.tbUrl,'[/img]</a>',
                        
    '<div class="clear"></div>','[url="',r.originalContextUrl,'"]',r.publisher,'[/url]',
                        
    '</div>'
                    
    ];
                break;
                case 
    'GnewsSearch':
                    
    arr = [
                        
    '<div class="webResult">',
                        
    '<h2>[url="',r.unescapedUrl,'"]',r.title,'[/url]</h2>',
                        
    '

    '
    ,r.content,'</p>',
                        
    '[url="',r.unescapedUrl,'"]',r.publisher,'[/url]',
                        
    '</div>'
                    
    ];
                break;
            }
            
            
    // The toString method.
            
    this.toString = function(){
                return 
    arr.join('');
            }
        }
        
        
    }); 
    Pippo Giacalone
    giacalone@tin.it

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    per recuperare il testo inserito dovrebbe bastare questo

    $('#s').val()

    Poi dovresti modificare il codice che viene creato nello switch case, concatenando all'url il valore recuperato.

    r.unescapedUrl+$('#s').val()

    aggiungendoci ? o & nei vari casi...

  3. #3
    grazie vindav ... effettivamente funziona

    ma essendo crudo di javascript non so come fare una condizione per dirgli di mettere ? o &
    Pippo Giacalone
    giacalone@tin.it

  4. #4
    qualcuno che possa spiegarmi come fare in javascript una cosa che in asp farei così:

    VariabilePaginaJavascript = r.unescapedUrl
    VariabileTestoCercato = $('#s').val()

    TestInStr = InStr(VariabilePaginaJavascript,"?")
    If TestInStr > 0 then
    UrlPagina = VariabilePaginaJavascript&"&q="&VariabileTestoCerc ato
    Else
    UrlPagina = VariabilePaginaJavascript&"?q="&VariabileTestoCerc ato
    End If
    Pippo Giacalone
    giacalone@tin.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    VariabilePaginaJavascript = r.unescapedUrl
    VariabileTestoCercato = $('#s').val()
    
    if(VariabilePaginaJavascript.split("?")[1]) UrlPagina = VariabilePaginaJavascript+"&q="+VariabileTestoCercato
    else UrlPagina = VariabilePaginaJavascript+"?q="+VariabileTestoCercato

  6. #6
    Grazie Vindav ... funziona alla grande

    questo è il pezzo di codice modificato:

    case 'GwebSearch':

    if(r.unescapedUrl.split('?')[1])
    UrlPagina = r.unescapedUrl+'&q='+$('#s').val()
    else
    UrlPagina = r.unescapedUrl+'?q='+$('#s').val()

    arr = [
    '<div class="Risultati">',
    '<h3>',r.title,'</h3>',
    '

    ',r.content,'</p>',
    '

    ',r.unescapedUrl,'</p>',
    '</div>'
    ];
    break;
    Pippo Giacalone
    giacalone@tin.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.