Início Rápido: Chamar o ponto final da Pesquisa Personalizada do Bing com C#
Aviso
A 30 de outubro de 2020, as APIs de Pesquisa do Bing passaram dos serviços de IA do Azure para os Serviços Pesquisa do Bing. Esta documentação é fornecida apenas para referência. Para obter documentação atualizada, veja 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, veja Criar um recurso de Pesquisa do Bing através do Azure Marketplace.
Utilize este início rápido para saber como pedir resultados de pesquisa à sua instância de Pesquisa Personalizada do Bing. Embora esta aplicação esteja escrita 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 para este exemplo está disponível no GitHub.
Pré-requisitos
Uma instância de Pesquisa Personalizada do Bing. Para obter mais informações, veja Início Rápido: Criar a sua primeira instância de Pesquisa Personalizada do Bing.
Qualquer edição do Visual Studio 2019 ou posterior.
Se estiver a utilizar o Linux/MacOS, esta aplicação pode ser executada com o Mono.
O pacote NuGet de Pesquisa Personalizada do Bing .
Para instalar este pacote no Visual Studio:
- Clique com o botão direito do rato no projeto no Explorador de Soluções e, em seguida, selecione Gerir Pacotes NuGet.
- Procure e selecione Microsoft.Azure.CognitiveServices.Search.CustomSearch e, em seguida, instale o pacote.
Quando instala o pacote NuGet de 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 utilizar a API de Pesquisa Personalizada do Bing ao criar um dos seguintes recursos do Azure.
Recurso de Pesquisa Personalizada do Bing
- Disponível através do portal do Azure até eliminar o recurso.
- Utilize o escalão de preço gratuito para experimentar o serviço e atualize mais tarde para um escalão pago para produção.
Recurso multi-serviço
- Disponível através do portal do Azure até eliminar o recurso.
- Utilize a mesma chave e ponto final para as suas aplicações, em vários serviços de IA do Azure.
Criar e inicializar a aplicação
Crie uma nova aplicação de consola C# no Visual Studio. Em seguida, adicione os seguintes pacotes ao seu projeto:
using System; using System.Net.Http; using System.Web; using Newtonsoft.Json;
Crie as seguintes classes para armazenar os resultados da pesquisa devolvidos 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; } }
No método principal do seu projeto, crie as seguintes variáveis para a chave de subscrição da API de Pesquisa Personalizada do Bing, o ID de configuração personalizada da instância de pesquisa e o termo de pesquisa:
var subscriptionKey = "YOUR-SUBSCRIPTION-KEY"; var customConfigId = "YOUR-CUSTOM-CONFIG-ID"; var searchTerm = args.Length > 0 ? args[0]:"microsoft";
Construa o URL do pedido ao acrescentar o termo de pesquisa ao parâmetro de consulta e o
q=
ID de configuração personalizado da instância de pesquisa para ocustomconfig=
parâmetro . Separe os parâmetros com um e comercial (&
). Para o valor daurl
variável, pode utilizar o ponto final global no código seguinte ou utilizar o ponto final de subdomínio personalizado apresentado na portal do Azure do recurso.var url = "https://api.cognitive.microsoft.com/bingcustomsearch/v7.0/search?" + "q=" + searchTerm + "&" + "customconfig=" + customConfigId;
Enviar e receber um pedido de pesquisa
Crie um cliente de pedido e adicione a chave de subscrição ao
Ocp-Apim-Subscription-Key
cabeçalho.var client = new HttpClient(); client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
Execute o pedido 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
Iterar sobre o objeto de resposta para apresentar informações sobre cada resultado de pesquisa, incluindo o respetivo nome, URL e a data em que a página Web foi pesquisada 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();