Jump to content
Fórum Script Brasil
  • 0

Script De Busca Google


fernando_ott

Question

Eae pessoal.

Vou postar agora pra vocês o script de um sistema de busca que puxa o banco de dados do google.

Este primeiro para fazer a busca no google

busca.php

<? include"head.htm";?><?
/*

meta.php

Pequeno sistema de metabusca escrito em PHP que busca resultados no Google 

Escrito por: Samuel de sousa Santos

http://buscas.br5.com.br
*/


function busca($search,$pg) {

//    Essa função conecta ao Google e retorna os resultados da busca

    global $tr;

    $fp    = fsockopen ("www.google.com", 80, $errno);

    if ($fp) {

        $conectar =  "Get /search?num=30&hl=pt&ie=UTF-8&oe=UTF-8&que=$search&btnG=Pesquisa+Google&lr=lang_pt&start=$pg HTTP/1.0\r\nHost: www.google.com\r\n\r\n";

        fputs ($fp, $conectar);

        $resultado = "";

        while (!feof($fp)) {
    
        $resultado .= fgets ($fp,128);
    
    }
        fclose ($fp);
    
    $resultado = ereg_replace("\n","",$resultado);
    
    $eng       = "/<p class=g><a href=(.*?)>(.*?)<\/a><br><font size=-1>(.*?)<br>/";

        preg_match_all($eng,$resultado,$matches);


        $exp_reg_total_resultados = "/<\/b> de <b>(.*?)<\/b>. A pesquisa/";

        preg_match_all($exp_reg_total_resultados,$resultado,$total_resultados);

        $tr  = formata_valor($total_resultados[1][0]) * 1;

    }

    return $matches;

}


function formata_valor($valor) {

// funcao usada para formatar o valor dos resultados
    
$valor    = str_replace(".","",$valor);

    $valor    = str_replace(",","",$valor);

    return $valor;
}


/*

Início do código
*/


$search = substr($que,0,255); // limitar a 255 caracteres a busca

$search = urlencode(stripslashes($search));

$tr     = 10; // total de resultados

$pg     = ($pg * 5); // páginas

$matches= busca($search,$pg); // resultados da pesquisa

$num    = count($matches[10]); // número de resultados da pesquisa na página


echo '


<form>
    
<input type="text" size="15" maxlength="255" name="que" value="">

    <input type="submit" value="Buscar">

</form>

';


// Imprime os resultados

echo " <center><a href:'formulario.php'>Incluir seu site</a></center><br>";

for($x=0;$x<$num;$x++) {

     $url = $matches[1][$x];

     $title = $matches[2][$x];

     $description = $matches[3][$x];
  
     echo "<br><a href=$url>$title<br></a>$description<br>$url<br>\n";

}


$numero_paginas = ceil($tr / 30); // arredonda o número de páginas


echo "<br><br>";


if (($numero_paginas > 1) && ($pg > 0)) {

    echo '<a href="ms.php?que='.$search.'&pg='.($pg - 30).'"> << Anterior </a> &nbsp;';
}

if (($numero_paginas > 1) && ($pg < $numero_paginas)) {

    echo '&nbsp; <a href="busca.php?que='.$search.'&pg='.($pg + 30).'"> Próxima >> </a>';
}


?><? include"footer.htm";?>
head.htm
<html>

<head>
<meta http-equiv="Content-Language" content="pt-br">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<LINK href="style.css" rel=STYLESHEET type=text/css>
<title>Fernando's - Buscas</title>
</head>

<body>

<p align="center"><font size="4">Procurar na Internet</font></p>
<p align="center">&nbsp;</p>

</body>

</html>
footer.htm
<html>

<head>
<meta http-equiv="Content-Language" content="pt-br">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<LINK href="style.css" rel=STYLESHEET type=text/css>
<title>Fernando's - Buscas</title>
<style>
<!--
.p{font-family:arial,sans-serif }
-->
</style>
</head>

<body>

<p align="center"><font class="p" size="-1">©2004
<a href="http://www.buscas.br5.com.br">Br5-buscas</a></font></p>
<p align="center">&nbsp;</p>

</body>

</html>

É isso aí galera. Tem também a folha css, mas esse eu dexo para que cada um faça do seu próprio estilo.

Outra coisa que quero salientar, é que eu testei várias vezes e em algumas modificações ele não funcionou, porém creio que esse esta certo.

Caso não, por favor ajudem a deixa-lo tinindo.

até a próxima

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...