Compartilhar via


Início Rápido: Chamar o ponto de extremidade da Pesquisa Personalizada do Bing usando o C#

Aviso

Em 30 de outubro de 2020, as APIs de Pesquisa do Bing foram migradas dos serviços de IA do Azure para os Serviços de Pesquisa do Bing. Esta documentação é fornecida apenas para referência. Para obter a documentação atualizada, consulte a documentação da API de pesquisa do Bing. Para obter instruções sobre como criar novos recursos do Azure para a Pesquisa do Bing, consulte Criar um recurso de Pesquisa do Bing por meio do Azure Marketplace.

Use este início rápido para saber como solicitar os resultados da pesquisa na instância da Pesquisa Personalizada do Bing. Embora esse aplicativo seja escrito em C#, a API de Pesquisa Personalizada do Bing é um serviço Web RESTful compatível com a maioria das linguagens de programação. O código-fonte deste exemplo está disponível no GitHub.

Pré-requisitos

  • Uma instância da Pesquisa Personalizada do Bing. Para saber mais, confira Início Rápido: Criar a primeira instância da Pesquisa Personalizada do Bing.

  • Microsoft .NET Core.

  • Qualquer edição do Visual Studio 2019 ou posterior.

  • Se você estiver usando Linux/MacOS, este aplicativo poderá ser executado usando Mono.

  • O pacote NuGet Pesquisa Personalizada do Bing.

    Para instalar o pacote no Visual Studio:

    1. Clique com o botão direito do mouse no projeto no Gerenciador de Soluções e selecione Gerenciar Pacotes NuGet.
    2. Pesquise e selecione Microsoft.Azure.CognitiveServices.Search.CustomSearch e, em seguida, instale o pacote.

    Quando você instala o pacote NuGet da Pesquisa Personalizada do Bing, o Visual Studio também instala os seguintes pacotes:

    • Microsoft.Rest.ClientRuntime
    • Microsoft.Rest.ClientRuntime.Azure
    • Newtonsoft.Json

Criar um recurso do Azure

Comece a usar a API de Pesquisa Personalizada do Bing criando um dos recursos do Azure a seguir.

Recurso de Pesquisa Personalizada do Bing

  • Disponível por meio do portal do Azure até que você exclua o recurso.
  • Use o tipo de preço gratuito para experimentar o serviço e atualize mais tarde para uma camada paga para produção.

Recurso de vários serviços

  • Disponível por meio do portal do Azure até que você exclua o recurso.
  • Use a mesma chave e ponto de extremidade para seus aplicativos nos vários serviços de IA do Azure.

Criar e inicializar o aplicativo

  1. No Visual Studio, crie um novo aplicativo de console C#. Depois, adicione os seguintes pacotes ao seu projeto:

    using System;
    using System.Net.Http;
    using System.Web;
    using Newtonsoft.Json;
    
  2. Crie as seguintes classes para armazenar os resultados da pesquisa retornados pela API de Pesquisa Personalizada do Bing:

    public class BingCustomSearchResponse {        
        public string _type{ get; set; }            
        public WebPages webPages { get; set; }
    }
    
    public class WebPages {
        public string webSearchUrl { get; set; }
        public int totalEstimatedMatches { get; set; }
        public WebPage[] value { get; set; }        
    }
    
    public class WebPage {
        public string name { get; set; }
        public string url { get; set; }
        public string displayUrl { get; set; }
        public string snippet { get; set; }
        public DateTime dateLastCrawled { get; set; }
        public string cachedPageUrl { get; set; }
    }
    
  3. No método principal do seu projeto, crie as seguintes variáveis da sua chave de assinatura de API de Pesquisa Personalizada do Bing, pesquise a ID de configuração personalizada da instância e pesquise o termo:

    var subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    var customConfigId = "YOUR-CUSTOM-CONFIG-ID";
    var searchTerm = args.Length > 0 ? args[0]:"microsoft";
    
  4. Construa a URL de solicitação acrescentando o termo de pesquisa ao parâmetro de consulta q= e a ID de configuração personalizada da instância de pesquisa ao parâmetro customconfig=. Separe os parâmetros com um “e” comercial (&). Para o valor da variável url, você pode usar o ponto de extremidade global no código a seguir ou usar o ponto de extremidade do subdomínio personalizado exibido no portal do Azure para seu recurso.

    var url = "https://api.cognitive.microsoft.com/bingcustomsearch/v7.0/search?" +
                "q=" + searchTerm + "&" +
                "customconfig=" + customConfigId;
    

Enviar e receber uma solicitação de pesquisa

  1. Crie um cliente de solicitação e adicione sua chave de assinatura ao cabeçalho Ocp-Apim-Subscription-Key.

    var client = new HttpClient();
    client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
    
  2. Execute a solicitação de pesquisa e obtenha a resposta como um objeto JSON.

    var httpResponseMessage = client.GetAsync(url).Result;
    var responseContent = httpResponseMessage.Content.ReadAsStringAsync().Result;
    BingCustomSearchResponse response = JsonConvert.DeserializeObject<BingCustomSearchResponse>(responseContent);
    

Processar e ver os resultados

  • Itere sobre o objeto de resposta para exibir informações sobre cada resultado da pesquisa, incluindo nome, URL e a data em que a página da Web foi rastreada pela última vez.

    for(int i = 0; i < response.webPages.value.Length; i++) {                
        var webPage = response.webPages.value[i];
    
        Console.WriteLine("name: " + webPage.name);
        Console.WriteLine("url: " + webPage.url);                
        Console.WriteLine("displayUrl: " + webPage.displayUrl);
        Console.WriteLine("snippet: " + webPage.snippet);
        Console.WriteLine("dateLastCrawled: " + webPage.dateLastCrawled);
        Console.WriteLine();
    }
    Console.WriteLine("Press any key to exit...");
    Console.ReadKey();
    

Próximas etapas