Herramientas personales

WebGulix 2.0.3

De Proyectos GULIX

Así se veían las búsquedas antes.

Tabla de contenidos

Nuevas características a la versión 2.0.3

1- Incrustación del buscador google completamente personalizado. Esto permite que el motor de búsqueda principal del sitio de gulix sea Google (o cualquier otro buscador externo en el futuro). Permitiendo a los usuarios ajustar rápidamente sus búsqueda y facilitando el flujo de información Gulix <-> Usuario

Así se ven las búsquedas ahora.







Detalle del código implementado

Google permite crear búsquedas "personalizadas", pero su personalización nunca ha sido completa. Siempre queda la nula posibilidad al programador de ajustar el campo de búsqueda y resultados completamente a su sitio. Agregar scripts y otras cosas resulta ser una tarea difícil.

Sin embargo es posible consultar este campo de búsqueda directamente desde la línea de código. En este caso se ha utilizado php para realizar esta tarea.

Lo que este código hace es crear la url necesaria para consultar una búsqueda personalizada y luego de consultarla, incrusta el resultado dentro del código html del sitio realizando los filtros y ajustes necesarios.


<?php	
       $url_google="http://www.google.cl/custom?";
       $url = $_SERVER[ 'REQUEST_URI'];
       $QUERYVAR= parse_url($url, PHP_URL_QUERY);
       $GETVARS = explode('&',$QUERYVAR);
       
       foreach($GETVARS as $string){
            list($is,$what) = explode('=',$string);
          $url_google="$url_google&$is=$what";
       }
//Aquí se formó una url parecida a esta:
//http://www.google.cl/custom?q=frase&domains=www.gulix.cl&sitesearch=www.gulix.cl&oe=UTF-8');


       $file = file_get_contents($url_google);
       
       
       $Reemplazar="\"/custom";
       $CadenaNueva="\"http://www.gulix.cl/search.php";
       $file=ereg_replace($Reemplazar,$CadenaNueva,$file); 
       
       $Reemplazar="action=/custom";
       $CadenaNueva="action=\"http://www.gulix.cl/search.php\"";
       $file=ereg_replace($Reemplazar,$CadenaNueva,$file); 
       
       $Reemplazar="/intl";
       $CadenaNueva="http://www.google.com/intl";	
       $file=ereg_replace($Reemplazar,$CadenaNueva,$file); 
       
       $Reemplazar="/swr";
       $CadenaNueva="http://www.google.com/swr";	
       $file=ereg_replace($Reemplazar,$CadenaNueva,$file);
       
       $Reemplazar="\"/\"";
       $CadenaNueva="http://www.google.com/";	
       $file=ereg_replace($Reemplazar,$CadenaNueva,$file);
       
       $Reemplazar="\"/quality_form\"";
       $CadenaNueva="\"http://www.google.com/quality_form\"";	
       $file=ereg_replace($Reemplazar,$CadenaNueva,$file);
       
       
       echo $file;
       
       ?>

Diagrama que lo explica todo

En el siguiente diagrama es más facil comprender la lógica que sigue este procedimiento de "personalización extrema"...

Diagrama del proceso en simples pasos


1- Cuando el usuario completa el campo de búsqueda y realiza la petición, esta no se envía directamente a google, si no que en realidad se envía a una web intermedia, que contiene el código descrito en la sección anterior. Dependiendo de la dirección que selecciones para la personalización de la búsqueda, deberás asegurarte de enviar diferentes parámetros. En este caso se debe formar una dirección similar a esta :

http://www.google.cl/custom?q=frase&domains=www.gulix.cl&sitesearch=www.gulix.cl&oe=UTF-8

Entonces los parámetros necesarios serían algo asi, Notar que nuestro formulario debe apuntar a nuestra web intermedia ( en este caso http://www.gulix.cl/search.php ) :

<div class="searchbox" name="buscar" id="buscar"> 
   <form method="get" action="'''http://www.gulix.cl/search.php'''"> 
     <input type="text" name="q" id="q" size="20" value="" style="width: 100px;"/>   
     <input type="hidden" value="www.gulix.cl" name="domains"/> 
     <input type="hidden" value="www.gulix.cl" name="sitesearch"/> 
     <input type="hidden" value="pub-8673081827788089" name="client"/> 
     <input type="hidden" value="1" name="forid"/> 
     <input type="hidden" value="2532393091" name="channel"/> 
     <input type="hidden" value="UTF-8" name="ie"/> 
     <input type="hidden" value="UTF-8" name="oe"/> 
     <input type="hidden" value="es" name="hl"/> 
  </form> 
 </div>

2- Esta web intermedia realizá la consulta a google, en este ejemplo se utilizó este código php que realiza la actividad.

$file = file_get_contents($url_google);

3- Una vez con la respuesta de google es capturada, se procede a realizar ediciones sobre el código html retornado por google. Una vez capturado el código html, es posible editar cualquier característica dentro de el. Reemplazar la dirección de búsqueda principal, para que ahora siempre apunte a nuestro sitio intermedio:

       $Reemplazar="\"/custom";
       $CadenaNueva="\"http://www.gulix.cl/search.php";
       $file=ereg_replace($Reemplazar,$CadenaNueva,$file); 
       
       $Reemplazar="action=/custom";
       $CadenaNueva="action=\"http://www.gulix.cl/search.php\"";
       $file=ereg_replace($Reemplazar,$CadenaNueva,$file); 

Algunas otras características deben ser igualmente editadas para mantener los enlaces a google ( acerca de, copyright de google, etc. )

       $Reemplazar="/intl";
       $CadenaNueva="http://www.google.com/intl";	
       $file=ereg_replace($Reemplazar,$CadenaNueva,$file); 
       
       $Reemplazar="/swr";
       $CadenaNueva="http://www.google.com/swr";	
       $file=ereg_replace($Reemplazar,$CadenaNueva,$file);
       
       $Reemplazar="\"/\"";
       $CadenaNueva="http://www.google.com/";	
       $file=ereg_replace($Reemplazar,$CadenaNueva,$file);
       
       $Reemplazar="\"/quality_form\"";
       $CadenaNueva="\"http://www.google.com/quality_form\"";	
       $file=ereg_replace($Reemplazar,$CadenaNueva,$file);

4- La web intermedia retorna al usuario el código html completamente editado.

Agradecimiento

A Danilo Lacoste por la implementación de las mejoras nombradas. --Dalacost 19:33 28 jul 2010 (UTC)( --Dalacost 01:07 30 ene 2010 (UTC) )


Buscar