Ir para conteúdo
Fórum Script Brasil
  • 0

Script De Busca Google


fernando_ott

Pergunta

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 para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...