Salve ho trovato questo codice :
Codice PHP:
<?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 "[url='$url']$url[/url] ";
$i++;
}
$size+=strlen($scraped_DATA);
}
fclose($fp);
echo "Numero di risultati ottenuti: $i KB Totali letti: ".($size/1024.0);
?>
Però $result[1] non restituisce niente....(dovrebbe restituire i link della ricerca)
Mentre l'echo finale è valorizzato ....
Sapete perchè?