Foros del Web » Programando para Internet » PHP »

Ayuda con un Script para mostrar posiciones SERP

Estas en el tema de Ayuda con un Script para mostrar posiciones SERP en el foro de PHP en Foros del Web. Bueno, baje un script en php que no logro hacer funcionar, la idea es que muestre las posiciones automaticas en las que se encuentra una ...
  #1 (permalink)  
Antiguo 08/02/2008, 06:24
Avatar de ligthy_xd  
Fecha de Ingreso: septiembre-2005
Mensajes: 225
Antigüedad: 19 años, 2 meses
Puntos: 0
Ayuda con un Script para mostrar posiciones SERP

Bueno, baje un script en php que no logro hacer funcionar, la idea es que muestre las posiciones automaticas en las que se encuentra una palabra en el buscador.

el codigo es este:

Código:
<?php 
// $searchquery is the value to search for.
// The script replaces the spaces and ampersands and
// converts them to values that google is expecting.

// $searchurl is the url to find - ie www.web-max.ca
// Do not pass http:// - you don't need it.

//$searchquery esta variable la cambiaria con el metodo GET (por la URL) 
$searchurl = "www.achemafia.com.ar";

if(!empty($searchquery) && !empty($searchurl))
{
    $query = str_replace(" ","+",$searchquery);    
    $query = str_replace("%26","&",$query);    

// How many results to search through.

    $total_to_search = 1000;

// The number of hits per page.    

    $hits_per_page   = 100;
    
// Obviously, the total pages / queries we will be doing is
// $total_to_search / $hits_per_page
    
// This will be our rank
    
    $position      = 0;

// This is the rank minus the duplicates
    
    $real_position = 0;

    $found   = NULL;
    $lastURL = NULL;

    for($i=0;$i<$total_to_search && empty($found);$i+=$hits_per_page)
    {

// Open the search page.
// We are filling in certain variables - 
// $query,$hits_per_page and $start.

        $filename = "http://www.google.com.ar/search?as_q=$query".
                    "&num=$hits_per_page&hl=es&ie=UTF-8&btnG=Google+Search".
                    "&as_epq=&as_oq=&as_eq=&lr=&as_ft=i&as_filetype=".
                    "&as_qdr=all&as_nlo=&as_nhi=&as_occt=any&as_dt=i".
                    "&as_sitesearch=&safe=images&start=$i";

        $file = fopen($filename, "r");
        if (!$file) 
        {
            echo "<p>Unable to open remote file $filename.\n";
        }
        else
        {

// Now load the file into a variable line at a time

            while (!feof($file))
            {
                $var = fgets($file, 1024);

// Try and find the font tag google uses to show the site URL

                if(eregi("<font color=#008000>(.*)</font><nobr>",$var,$out))
                {

// If we find it take out any <B> </B> tags - google does
// highlight search terms within URLS

                    $out[1] = strtolower(strip_tags($out[1]));

// Get the domain name by looking for the first /

                    $x = strpos($out[1],"/");

// and get the URL

                    $url = substr($out[1],0,$x);

                    $position++;

// If you want to see the hits, set $trace to something

                    if($trace)print($url."<br>");

// If the last result process is the same as this one, it
// is a nest or internal domain result, so don't count it
// on $real_position

                    if(strcmp($lastURL,$url)<>0)$real_position++;

                    $lastURL = $url;

// Else if the sites match we have found it!!!

                    if(strcmp($searchurl,$url)==0)
                    {
                        $found = $position;
                        
// We quit out, we don't need to go any further.
                        
                        break;
                    }    
                }
            }
        }
        fclose($file);    
    }

    if($found)
    {
        print("The URL $searchurl is at position $found ".
              "( $real_position ) for the term $searchquery");
    }
}
?>
__________________
TAGS Latinoamerica Horno para empotrar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:36.