Pergunta

Preciso fornecer uma palavra -chave como "Kettle Blue Metal" (com/sem cotações) e obter apenas o número de resultados encontrados para esta pesquisa. Se eu pesquisar sem cotações agora, eu entendo:

 Results 1 - 10 of about 1,040,000 for blue metal kettle. (0.19 seconds)

Aqui '1.040.000' é o número que eu quero. Existe alguma função da API para fazer isso, ou devo extrair esse número através do HTML? Qual é a melhor forma de fazer isso?

Foi útil?

Solução

Na API do Google Ajax, há uma propriedade estimada em contas em JSON, mas você pode ler sobre reclamações não resolvidas arquivadas no rastreador de edição:

A contagem de resultados varia
http://code.google.com/p/google-ajax-apis/issues/detail?id=32

(Vejo que a pergunta é marcada com PHP, mas o JavaScript do lado do cliente em conjunto pode ser de interesse.)

Outras dicas

Você pode rastrear raspar. Algo como:

$keywords = "blue metal kettle";
$html = file_get_contents("http://www.google.com/?q=" . rawurlencode($keywords));
preg_match('/Results 1 - \d+ of about ([0-9,]+) for/', $html, $reg);
var_dump($reg[1]);

Se você usar isso em um aplicativo, provavelmente estaria violando os termos de uso do Google.

O Google fechou sua API para uso público há algum tempo. Se você deseja usar uma API suportada, consulte a API do Bing, que fornece isso como parte de seus resultados. Caso contrário, você estará fora para raspar o HTML. Esteja ciente de que você mostrou formatação para nós/números em inglês. A formatação varia em outros sites do Google e/ou nas configurações de perfil e/ou nas configurações do navegador.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top