Tengo el siguiente codigo que lo que haces es buscar la url de imdb de una pelicula con la opcion Feeling Lucky de Google, pero esta opcion se bloquea despues de pedir muchas peticiones y te pide que insertes un captcha para que funcione, entonces lo que hago es verificar si se bloqueo y que me devuelva la imagen y pongo un input para escribir el captcha, la imagen tiene un id unico. Entonces el numero de ID mas las letras del captcha consigo entrar a la url, el problema es que cuando verifico el form me actualiza la pagina y el captcha cambia, por lo que se vuelve obsoleto el anterior captcha, no hay una forma para que la parte donde muestra el captcha no se actualize, solo la del formulario para que no cambien los datos?
Código PHP:
<?php
function buscar($aQue) {
$url = "http://www.google.com/search?hl=en&q=imdb+".$aQue."&btnI=I%27m+Feeling+Lucky";
$html = geturl($url);
if(stripos($html, "302 Moved") !== false) {
$url = match('/HREF="(.*?)"/ms', $html, 1);
// Comprueba bloqueo IP
if (eregi("sorry", $url)) {
echo "Se bloqueo la ip!";
$str = geturl($url);
$pos1=strpos($str,'<img');
$pos2=strpos($str,'>',$pos1);
$pos1=$pos1+10;
$pos2=$pos2-$pos1;
$imagen=substr($str, $pos1, $pos2);
$pos3=strpos($imagen,'id=');
$pos4=strpos($imagen,'&',$pos3);
$pos3=$pos3+3;
$pos4=$pos4-$pos3;
$id=substr($imagen, $pos3, $pos4);
$google="<img src=http://www.google.com";
echo $google.$imagen.'>';
$clave=$id;
form($clave, $url, $captcha);
}
}
}
function form($clave, $url, $captcha) {
if (!isset($_GET['tabla'])) {
echo "<form action='Buscador - Api Google.php' method='get'>
<input type='text' name='tabla'>
<input type='submit' name='Submit' value='Entrar' />";
}
else
{
$captcha = $_GET['tabla'];
$url = "http://www.google.com/sorry/Captcha?continue=".$url."&id=".$clave."&captcha=".$captcha."&submit=Enviar";
echo $url;
} }
function geturl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$html = curl_exec($ch);
curl_close($ch);
return $html;
}
buscar("thor");
?>