Pitão

Usando a API de pesquisa do Google com Python

Usando a API de pesquisa do Google com Python
Não é novidade que o Google é o maior motor de busca do mundo. Muitas pessoas farão o possível para ter seu conteúdo bem classificado no Google antes de qualquer outro mecanismo de pesquisa. Como resultado disso, o Google tem muitos resultados de qualidade para todas as pesquisas e, com ótimos algoritmos de classificação, você pode esperar obter o melhor dos resultados de pesquisa no Google.

Isso tem uma implicação. Sua implicação é que existem muitos dados úteis no Google e isso exige a necessidade de extrair esses dados valiosos. Os dados coletados podem ser usados ​​para análise de dados de qualidade e descoberta de insights maravilhosos. Também pode ser importante para obter ótimas informações de pesquisa em uma tentativa.

Por falar em raspagem, isso pode ser feito com ferramentas de terceiros. Também pode ser feito com uma biblioteca Python conhecida como Scrapy. O Scrapy é classificado como uma das melhores ferramentas de raspar e pode ser usado para raspar quase todas as páginas da web. Você pode descobrir mais na biblioteca Scrapy.

No entanto, independentemente dos pontos fortes desta maravilhosa biblioteca. Extrair dados no Google pode ser uma tarefa difícil. O Google é duro com qualquer tentativa de scrape da web, garantindo que os scripts de scrape não façam tantas 10 solicitações de scrape em uma hora antes de ter o endereço IP banido.  Isso torna os scripts de web scraping pessoais e de terceiros inúteis.

O Google dá a oportunidade de extrair informações. No entanto, qualquer remoção que seja feita deve ser feita por meio de uma Interface de Programação de Aplicativo (API).

Apenas caso você ainda não saiba o que é uma Interface de Programação de Aplicativo, não há nada com que se preocupar, pois irei fornecer uma breve explicação. Por definição, uma API é um conjunto de funções e procedimentos que permitem a criação de aplicativos que acessam os recursos ou dados de um sistema operacional, aplicativo ou outro serviço. Basicamente, uma API permite que você obtenha acesso ao resultado final dos processos sem ter que se envolver nesses processos. Por exemplo, uma API de temperatura forneceria os valores Celsius / Fahrenheit de um lugar sem que você tivesse que ir até lá com um termômetro para fazer as medições você mesmo.

Trazendo isso para o escopo de coleta de informações do Google, a API que usaríamos nos permite acessar as informações necessárias sem ter que escrever qualquer script para raspar a página de resultados de uma pesquisa do Google. Por meio da API, podemos simplesmente ter acesso ao resultado final (depois que o Google faz a “raspagem” no final) sem escrever nenhum código para copiar páginas da web.

Embora o Google tenha muitas APIs para finalidades diferentes, usaremos a API JSON de pesquisa personalizada para os fins deste artigo. Mais informações sobre esta API podem ser encontradas aqui.

Esta API nos permite fazer 100 consultas de pesquisa por dia gratuitamente, com planos de preços disponíveis para fazer mais consultas, se necessário.

Criação de um mecanismo de pesquisa personalizado

Para poder usar a API JSON de pesquisa personalizada, precisaríamos de um ID de mecanismo de pesquisa personalizado. No entanto, primeiro teríamos que criar um mecanismo de pesquisa personalizado, o que pode ser feito aqui.

Ao visitar a página do Mecanismo de pesquisa personalizado, clique no botão “Adicionar” para criar um novo mecanismo de pesquisa.

Na caixa “sites a pesquisar”, basta inserir “www.linuxhint.com ”e na caixa“ Nome do mecanismo de pesquisa ”, coloque qualquer nome descritivo de sua escolha (Google seria preferível).

Agora clique em “Criar” para criar o mecanismo de pesquisa personalizado e clique no botão “painel de controle” da página para confirmar o sucesso da criação.

Você veria uma seção "Search Engine ID" e um ID abaixo dela, que é o ID que precisaríamos para a API e faríamos referência a ele posteriormente neste tutorial. O Search Engine ID deve ser mantido privado.

Antes de sairmos, lembre-se de colocar “www.linuhint.com ”mais cedo. Com essa configuração, obteríamos resultados apenas do site. Se você deseja obter os resultados normais da pesquisa total na web, clique em “Configuração” no menu à esquerda e, em seguida, clique na guia “Básico”. Vá para a seção “Pesquisar toda a Web” e ative este recurso.

Criação de uma chave de API

Depois de criar um Mecanismo de pesquisa personalizado e obter seu ID, o próximo passo seria criar uma chave de API. A chave de API permite o acesso ao serviço de API e deve ser mantida segura após a criação, assim como o ID do Search Engine.

Para criar uma chave de API, visite o site e clique no botão “Obter uma chave”.

Crie um novo projeto e dê a ele um nome descritivo. Ao clicar em “próximo”, você teria a chave API gerada.

Na próxima página, teríamos diferentes opções de configuração que não são necessárias para este tutorial, então você apenas clica no botão “salvar” e estamos prontos para ir.

Acessando a API

Fizemos bem ao obter o ID de pesquisa personalizada e a chave de API. Em seguida, vamos fazer uso da API.

Embora você possa acessar a API com outras linguagens de programação, faremos isso com Python.

Para poder acessar a API com Python, você precisa instalar o cliente de API do Google para Python. Isso pode ser instalado usando o pacote de instalação pip com o comando abaixo:

pip install google-api-python-client

Depois de instalar com sucesso, agora você pode importar a biblioteca em nosso código.

A maior parte do que será feito, será por meio da função abaixo:

de googleapiclient.construção de importação de descoberta
my_api_key = "Sua chave de API”
my_cse_id = "Seu ID CSE"
def google_search (search_term, api_key, cse_id, ** kwargs):
service = build ("Custom Search", "v1", developerKey = api_key)
res = serviço.cse ().list (q = search_term, cx = cse_id, ** kwargs).executar()
retornar res

Na função acima, o my_api_key e my_cse_id as variáveis ​​devem ser substituídas pela chave API e o ID do mecanismo de pesquisa, respectivamente, como valores de string.

Tudo o que precisa ser feito agora é chamar a função passando o termo de pesquisa, a chave de API e o id cse.

result = google_search ("Coffee", my_api_key, my_cse_id)
imprimir (resultado)

A chamada de função acima iria pesquisar a palavra-chave "Café" e atribuir o valor retornado ao resultado variável, que é então impressa. Um objeto JSON é retornado pela API de pesquisa personalizada, portanto, qualquer análise adicional do objeto resultante exigiria um pouco de conhecimento de JSON.

Isso pode ser visto em uma amostra do resultado, conforme mostrado abaixo:

O objeto JSON retornado acima é muito semelhante ao resultado da pesquisa do Google:

Resumo

Procurar informações no Google não vale o estresse. A API de pesquisa personalizada facilita a vida de todos, pois a única dificuldade é analisar o objeto JSON para obter as informações necessárias. Como um lembrete, sempre lembre-se de manter o ID do mecanismo de pesquisa personalizado e os valores da chave de API privados.

SuperTuxKart para Linux
SuperTuxKart é um ótimo título projetado para trazer a você a experiência Mario Kart gratuitamente em seu sistema Linux. É bastante desafiador e diver...
Tutorial de Battle for Wesnoth
The Battle for Wesnoth é um dos jogos de estratégia de código aberto mais populares que você pode jogar no momento. Este jogo não está apenas em desen...
0 A.D. Tutorial
Dos muitos jogos de estratégia que existem, 0 A.D. consegue se destacar como um título abrangente e um jogo muito profundo e tático, apesar de ser de ...