Lo script è facile da usare e si presta a diversi utilizzi. Fate attenzione al numero di query, il vostro sito potrebe essere bloccato da google per l'accesso ai dati se effettuate più di 20.000 query giornaliere. Lo script permette di recperare e salvare tutti i risultati per ogni kyword che gli viene passata.
Va adattato alle esigenze personali di ognuno, ecco alcune semplici idee di applicazione.
- Realizzare un proprio motore di ricerca ;)
- Trovare posizioni e rank per un sito
- Trovare vittime per commenti o altro invio di contenuti
- Altre appplciazioni SEO, come trovare il numero di backlinks, (usando "link:tuodominio.tld") oppure, il numero di pagine indicizzate (con "site:tuodominio.tld").
Buon divertimento ;)
<?php
/*
Descrizione:
Questo script permette di recuperare fino a 1000 risultati da google per una data keyword
Utilizzo:
Tramite un form passare dati via GET
oppure impostare un url come questo: mio_script.php?pag=50&q=get+google+results+php
q => Chiave di ricerca
pag => The number of pages you want to parse. (default is 10, maximum of 100)
pag_inizio => Il numero di pagina da cui partire, impostata di default a 1
*/
ini_set("max_execution_time", 0); set_time_limit(0); // nessun limite di esecuzione di tempo
if(isset($_GET['q']))
$query=$_GET['q'];
else
$query="sample search term";
if(isset($_GET['pag']))
$npag=$_GET['pag'];
else
$npag=10;
if(isset($_GET['pag_inizio']))
$pag_inizio=$_GET['pag_inizio'];
else
$pag_inizio=0;
if($npag>=100)
$npag=100;
$google_URL = 'http://www.google.com/search?hl=en&q=' . urlencode($query) . '&start=';
$i=1;
$size=0;
$options = array(
CURLOPT_RETURNTRANSFER => true, // ritorna la pagina web
CURLOPT_HEADER => false, // non recuperare header
CURLOPT_FOLLOWLOCATION => true, // segui i redirect
CURLOPT_ENCODING => "", // gestione dei vari encodings
CURLOPT_AUTOREFERER => true, // imposta un referer sul redirect
CURLOPT_CONNECTTIMEOUT => 120, // imposta un timeout di connessione
CURLOPT_TIMEOUT => 120, // imposta un timeout per la risposta
CURLOPT_MAXREDIRS => 10, // limite di redirects
CURLOPT_COOKIEFILE => "_cookie_file.txt",
CURLOPT_COOKIEJAR => "_cookie_file.txt",
CURLOPT_USERAGENT => "Mozilla/5.0 (Windows; U; Windows NT 6.0; it-IT; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
CURLOPT_REFERER => "http://www.google.com/",
);
for ($page = $pag_inizio; $page < $npag; $page++)
{
$ch = curl_init($google_URL.$page.'0');
curl_setopt_array($ch,$options);
$scraped_DATA="";
$scraped_DATA.=curl_exec($ch);
curl_close( $ch );
$results = array();
preg_match_all('/a href="([^"]+)" class=l.+?>.+?<\/a>/',$scraped_DATA,$results);
foreach ($results[1] as $url)
{
echo "<a href='$url'>$url</a> ";
$i++;
}
$size+=strlen($scraped_DATA);
}
fclose($fp);
echo "Numero di risultati ottenuti: $i KB Totali letti: ".($size/1024.0);
?>
/*
Descrizione:
Questo script permette di recuperare fino a 1000 risultati da google per una data keyword
Utilizzo:
Tramite un form passare dati via GET
oppure impostare un url come questo: mio_script.php?pag=50&q=get+google+results+php
q => Chiave di ricerca
pag => The number of pages you want to parse. (default is 10, maximum of 100)
pag_inizio => Il numero di pagina da cui partire, impostata di default a 1
*/
ini_set("max_execution_time", 0); set_time_limit(0); // nessun limite di esecuzione di tempo
if(isset($_GET['q']))
$query=$_GET['q'];
else
$query="sample search term";
if(isset($_GET['pag']))
$npag=$_GET['pag'];
else
$npag=10;
if(isset($_GET['pag_inizio']))
$pag_inizio=$_GET['pag_inizio'];
else
$pag_inizio=0;
if($npag>=100)
$npag=100;
$google_URL = 'http://www.google.com/search?hl=en&q=' . urlencode($query) . '&start=';
$i=1;
$size=0;
$options = array(
CURLOPT_RETURNTRANSFER => true, // ritorna la pagina web
CURLOPT_HEADER => false, // non recuperare header
CURLOPT_FOLLOWLOCATION => true, // segui i redirect
CURLOPT_ENCODING => "", // gestione dei vari encodings
CURLOPT_AUTOREFERER => true, // imposta un referer sul redirect
CURLOPT_CONNECTTIMEOUT => 120, // imposta un timeout di connessione
CURLOPT_TIMEOUT => 120, // imposta un timeout per la risposta
CURLOPT_MAXREDIRS => 10, // limite di redirects
CURLOPT_COOKIEFILE => "_cookie_file.txt",
CURLOPT_COOKIEJAR => "_cookie_file.txt",
CURLOPT_USERAGENT => "Mozilla/5.0 (Windows; U; Windows NT 6.0; it-IT; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
CURLOPT_REFERER => "http://www.google.com/",
);
for ($page = $pag_inizio; $page < $npag; $page++)
{
$ch = curl_init($google_URL.$page.'0');
curl_setopt_array($ch,$options);
$scraped_DATA="";
$scraped_DATA.=curl_exec($ch);
curl_close( $ch );
$results = array();
preg_match_all('/a href="([^"]+)" class=l.+?>.+?<\/a>/',$scraped_DATA,$results);
foreach ($results[1] as $url)
{
echo "<a href='$url'>$url</a> ";
$i++;
}
$size+=strlen($scraped_DATA);
}
fclose($fp);
echo "Numero di risultati ottenuti: $i KB Totali letti: ".($size/1024.0);
?>
Nessun commento:
Posta un commento