Início rápido: Utilizar o Python para chamar a API de Pesquisa na Web do Bing

Aviso

Em 30 de outubro de 2020, as APIs de Pesquisa de Bing mudaram-se dos Serviços Cognitivos para os Serviços de Busca Bing. Esta documentação é fornecida apenas para referência. Para obter documentação atualizada, consulte a documentação da API de pesquisa Bing. Para obter instruções sobre a criação de novos recursos Azure para pesquisa de Bing, consulte Criar um recurso de pesquisa Bing através do Azure Marketplace.

Use este quickstart para fazer a sua primeira chamada para a API de Pesquisa web Bing. Esta aplicação Python envia um pedido de pesquisa à API, e mostra a resposta JSON. Embora esta aplicação esteja escrita em Python, a API é um serviço Web RESTful compatível com a maioria das linguagens de programação.

Este exemplo é executado como um bloco de notas do Jupyter no MyBinder. Para executá-lo, selecione o crachá de encaixe de lançamento:

Binder

Pré-requisitos

Criar um recurso Azure

Comece a utilizar a API de Pesquisa Web Bing, criando um dos seguintes recursos Azure:

Bing Search v7 recurso

  • Disponível através do portal Azure até eliminar o recurso.
  • Use o nível de preços gratuitos para experimentar o serviço e atualize mais tarde para um nível pago para produção.

Recurso multi-serviço

  • Disponível através do portal Azure até eliminar o recurso.
  • Use a mesma chave e ponto final para as suas aplicações, através de vários Serviços Cognitivos.

Definir variáveis

  1. Substitua o valor subscription_key por uma chave de subscrição válida da sua conta do Azure.

    subscription_key = "YOUR_ACCESS_KEY"
    assert subscription_key
    
  2. Declarar o ponto final da API de Pesquisa na Web do Bing. Pode utilizar o ponto final global no seguinte código ou utilizar o ponto final personalizado subdomínio apresentado no portal Azure para o seu recurso.

    search_url = "https://api.bing.microsoft.com/v7.0/search"
    
  3. Opcionalmente, personalize a consulta de pesquisa substituindo o valor de search_term.

    search_term = "Azure Cognitive Services"
    

Fazer um pedido

Este código utiliza a requests biblioteca para ligar para a API de Pesquisa Web Bing e devolver os resultados como um objeto JSON. A chave de API é passada no dicionário headers e os parâmetros de consulta e o termo de pesquisa são passados no dicionário params.

Para obter uma lista completa de opções e parâmetros, consulte bing Web Search API v7.

import requests

headers = {"Ocp-Apim-Subscription-Key": subscription_key}
params = {"q": search_term, "textDecorations": True, "textFormat": "HTML"}
response = requests.get(search_url, headers=headers, params=params)
response.raise_for_status()
search_results = response.json()

Formatar e apresentar a resposta

O search_results objeto inclui os resultados da pesquisa, e metadados como consultas e páginas relacionadas. Este código utiliza a biblioteca IPython.display para formatar e apresentar a resposta no seu browser.

from IPython.display import HTML

rows = "\n".join(["""<tr>
                       <td><a href=\"{0}\">{1}</a></td>
                       <td>{2}</td>
                     </tr>""".format(v["url"], v["name"], v["snippet"])
                  for v in search_results["webPages"]["value"]])
HTML("<table>{0}</table>".format(rows))

Código de amostra no GitHub

Para executar este código localmente, consulte a amostra completa disponível no GitHub.

Passos seguintes

Ver também