Partilhar via


Guia de início rápido: usar a biblioteca de cliente da Pesquisa de Notícias do Bing

Advertência

Em 30 de outubro de 2020, as APIs de Pesquisa do Bing foram movidas 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 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 através do Azure Marketplace.

Use este início rápido para começar a pesquisar notícias com a biblioteca de cliente da Pesquisa de Notícias do Bing para C#. Embora a Pesquisa de Notícias do Bing tenha uma API REST compatível com a maioria das linguagens de programação, a biblioteca de cliente fornece uma maneira fácil de integrar o serviço em seus aplicativos. O código-fonte deste exemplo pode ser encontrado no GitHub.

Pré-requisitos

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

  • A estrutura Json.NET, disponível como um pacote NuGet.

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

  • O pacote NuGet do SDK de Pesquisa de Notícias do Bing . A instalação deste pacote também instala o seguinte:

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

Para configurar um aplicativo de console usando a biblioteca de cliente da Pesquisa de Notícias do Bing, navegue até a opção Manage NuGet Packages no Gerenciador de Soluções no Visual Studio. Adicione o pacote Microsoft.Azure.CognitiveServices.Search.NewsSearch.

Criar um recurso do Azure

Comece a usar a API de Pesquisa de Notícias do Bing criando um dos seguintes recursos do Azure:

recurso de Pesquisa Bing v7

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

Recurso multisserviços

  • Disponível através do portal do Azure até eliminar o recurso.
  • Use a mesma chave e ponto de extremidade para seus aplicativos, em vários serviços de IA do Azure.

Criar e inicializar um projeto

  1. Crie uma nova solução de console C# no Visual Studio. Em seguida, adicione o seguinte ao arquivo de código principal.

    using System;
    using System.Linq;
    using Microsoft.Azure.CognitiveServices.Search.NewsSearch;
    
  2. Crie uma variável para sua chave de API, um termo de pesquisa e, em seguida, instancie o cliente de pesquisa de notícias com ela.

    var key = "YOUR-ACCESS-KEY";
    var searchTerm = "Quantum Computing";
    var client = new NewsSearchClient(new ApiKeyServiceClientCredentials(key));
    

Envie uma solicitação e analise o resultado

  1. Use o cliente para enviar uma solicitação de pesquisa para o serviço de Pesquisa de Notícias do Bing:

    var newsResults = client.News.SearchAsync(query: searchTerm, market: "en-us", count: 10).Result;
    
  2. Se algum resultado for retornado, analise-o:

    if (newsResults.Value.Count > 0)
    {
        var firstNewsResult = newsResults.Value[0];
    
        Console.WriteLine($"TotalEstimatedMatches value: {newsResults.TotalEstimatedMatches}");
        Console.WriteLine($"News result count: {newsResults.Value.Count}");
        Console.WriteLine($"First news name: {firstNewsResult.Name}");
        Console.WriteLine($"First news url: {firstNewsResult.Url}");
        Console.WriteLine($"First news description: {firstNewsResult.Description}");
        Console.WriteLine($"First news published time: {firstNewsResult.DatePublished}");
        Console.WriteLine($"First news provider: {firstNewsResult.Provider[0].Name}");
    }
    
    else
    {
        Console.WriteLine("Couldn't find news results!");
    }
    Console.WriteLine("Enter any key to exit...");
    Console.ReadKey();
    

Próximos passos

Use este início rápido para começar a procurar notícias com a biblioteca de cliente da Pesquisa de Notícias do Bing para Java. Embora a Pesquisa de Notícias do Bing tenha uma API REST compatível com a maioria das linguagens de programação, a biblioteca de cliente fornece uma maneira fácil de integrar o serviço em seus aplicativos. O código-fonte deste exemplo pode ser encontrado no GitHub.

Pré-requisitos

Instale as dependências da biblioteca de cliente da Pesquisa de Notícias do Bing usando o Maven, o Gradle ou outro sistema de gerenciamento de dependência. O arquivo Maven POM requer a seguinte declaração:

    <dependencies>
    <dependency>
        <groupId>com.microsoft.azure.cognitiveservices</groupId>
        <artifactId>azure-cognitiveservices-newssearch</artifactId>
        <version>0.0.1-beta-SNAPSHOT</version>
    </dependency>
    </dependencies>

Criar um recurso do Azure

Comece a usar a API de Pesquisa de Notícias do Bing criando um dos seguintes recursos do Azure:

recurso de Pesquisa Bing v7

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

Recurso multisserviços

  • Disponível através do portal do Azure até eliminar o recurso.
  • Use a mesma chave e ponto de extremidade para seus aplicativos, em vários serviços de IA do Azure.

Criar e inicializar um projeto

Crie um novo projeto Java em seu IDE ou editor favorito e importe as seguintes bibliotecas.

import com.microsoft.azure.cognitiveservices.newssearch.*;
import com.microsoft.azure.cognitiveservices.newssearch.implementation.NewsInner;
import com.microsoft.azure.cognitiveservices.newssearch.implementation.NewsSearchAPIImpl;
import com.microsoft.azure.cognitiveservices.newssearch.implementation.TrendingTopicsInner;
import com.microsoft.rest.credentials.ServiceClientCredentials;
import okhttp3.Interceptor;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;

Criar um cliente de pesquisa e armazenar credenciais

  1. Crie um método chamado getClient() que retorna um novo cliente de pesquisa NewsSearchAPIImpl. Adicione seu ponto de extremidade como o primeiro parâmetro para o novo objetoNewsSearchAPIImpl e um novo objeto ServiceClientCredentials para armazenar suas credenciais.

    public static NewsSearchAPIImpl getClient(final String subscriptionKey) {
        return new NewsSearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/",
                new ServiceClientCredentials() {
                });
    }
    
  2. Para criar o objeto ServiceClientCredentials, substitua a função applyCredentialsFilter(). Passe um OkHttpClient.Builder para o método e use o método addNetworkInterceptor() do construtor para criar as credenciais para a chamada à biblioteca cliente.

    new ServiceClientCredentials() {
        @Override
        public void applyCredentialsFilter(OkHttpClient.Builder builder) {
            builder.addNetworkInterceptor(
                    new Interceptor() {
                        @Override
                        public Response intercept(Chain chain) throws IOException {
                            Request request = null;
                            Request original = chain.request();
                            // Request customization: add request headers.
                            Request.Builder requestBuilder = original.newBuilder()
                                    .addHeader("Ocp-Apim-Subscription-Key", subscriptionKey);
                            request = requestBuilder.build();
                            return chain.proceed(request);
                        }
                    });
        }
    });
    

Enviar e receber um pedido de pesquisa

  1. Crie um método que chame getClient() e envie uma solicitação de pesquisa para o serviço Pesquisa de Notícias do Bing. Filtre a pesquisa com o de mercado e conte parâmetros e, em seguida, imprima informações sobre o resultado da primeira notícia: nome, URL, data de publicação, descrição, nome do fornecedor e número total de correspondências estimadas para a sua pesquisa.

    public static void newsSearch(String subscriptionKey)
    {
        NewsSearchAPIImpl client = getClient(subscriptionKey);
        String searchTerm = "Quantum Computing";
    
        NewsInner newsResults = client.searchs().list(searchTerm, null, null, null,
                null, null, 100, null, "en-us",
                null, null, null, null, null,
                null, null);
    
        if (newsResults.value().size() > 0)
        {
            NewsArticle firstNewsResult = newsResults.value().get(0);
    
            System.out.println(String.format("TotalEstimatedMatches value: %d", newsResults.totalEstimatedMatches()));
            System.out.println(String.format("News result count: %d", newsResults.value().size()));
            System.out.println(String.format("First news name: %s", firstNewsResult.name()));
            System.out.println(String.format("First news url: %s", firstNewsResult.url()));
            System.out.println(String.format("First news description: %s", firstNewsResult.description()));
            System.out.println(String.format("First news published time: %s", firstNewsResult.datePublished()));
            System.out.println(String.format("First news provider: %s", firstNewsResult.provider().get(0).name()));
        }
        else
        {
            System.out.println("Couldn't find news results!");
        }
    
    }
    
    
  2. Adicione seu método de pesquisa a um método main() para executar o código.

    public static void main(String[] args) {
        String subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
        NewsSearchSDK.newsSearch(subscriptionKey);
    }
    

Próximos passos

Use este início rápido para começar a pesquisar notícias com a biblioteca de cliente da Pesquisa de Notícias do Bing para JavaScript. Embora a Pesquisa de Notícias do Bing tenha uma API REST compatível com a maioria das linguagens de programação, a biblioteca de cliente fornece uma maneira fácil de integrar o serviço em seus aplicativos. O código-fonte deste exemplo pode ser encontrado no GitHub.

Pré-requisitos

  • A última versão do Node.js.
  • O SDK de Pesquisa de Notícias do Bing para JavaScript
    • Para instalar, execute npm install @azure/cognitiveservices-newssearch
  • A classe CognitiveServicesCredentials do pacote @azure/ms-rest-azure-js para a autenticação do cliente.
    • Para instalar, execute npm install @azure/ms-rest-azure-js

Criar um recurso do Azure

Comece a usar a API de Pesquisa de Notícias do Bing criando um dos seguintes recursos do Azure:

recurso de Pesquisa Bing v7

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

Recurso multisserviços

  • Disponível através do portal do Azure até eliminar o recurso.
  • Use a mesma chave e ponto de extremidade para seus aplicativos, em vários serviços de IA do Azure.

Criar e inicializar o aplicativo

  1. Crie uma instância do CognitiveServicesCredentials. Crie variáveis para a sua chave de subscrição e um termo de pesquisa.

    const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials;
    let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY');
    let search_term = 'Winter Olympics'
    
  2. Instancie o cliente:

    const NewsSearchAPIClient = require('@azure/cognitiveservices-newssearch');
    let client = new NewsSearchAPIClient(credentials);
    

Enviar uma consulta de pesquisa

  1. Use o cliente para pesquisar com um termo de consulta, neste caso "Jogos Olímpicos de inverno":

    client.newsOperations.search(search_term).then((result) => {
        console.log(result.value);
    }).catch((err) => {
        throw err;
    });
    

O código imprime result.value itens no console sem analisar nenhum texto. Os resultados, se existirem por categoria, incluirão:

  • _type: 'NewsArticle'
  • _type: 'WebPage'
  • _type: 'VideoObject'
  • _type: 'ImageObject'

Próximos passos

Use este início rápido para começar a procurar notícias com a biblioteca de cliente da Pesquisa de Notícias do Bing para Python. Embora a Pesquisa de Notícias do Bing tenha uma API REST compatível com a maioria das linguagens de programação, a biblioteca de cliente fornece uma maneira fácil de integrar o serviço em seus aplicativos. O código-fonte deste exemplo pode ser encontrado no GitHub.

Pré-requisitos

Recomenda-se usar um ambiente virtual para o seu desenvolvimento em Python. Você pode instalar e inicializar o ambiente virtual com o módulo venv. Você deve instalar um virtualenv para Python 2.7. Você pode criar um ambiente virtual com:

python -m venv mytestenv

Você pode instalar as dependências da biblioteca de cliente da Pesquisa de Notícias do Bing com este comando:

python -m pip install azure-cognitiveservices-search-newssearch

Criar um recurso do Azure

Comece a usar a API de Pesquisa de Notícias do Bing criando um dos seguintes recursos do Azure:

recurso de Pesquisa Bing v7

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

Recurso multisserviços

  • Disponível através do portal do Azure até eliminar o recurso.
  • Use a mesma chave e ponto de extremidade para seus aplicativos, em vários serviços de IA do Azure.

Criar e inicializar o aplicativo

  1. Crie um novo arquivo Python em seu IDE ou editor favorito e importe as seguintes bibliotecas. Crie uma variável para a sua chave de subscrição e o seu termo de pesquisa.

    from azure.cognitiveservices.search.newssearch import NewsSearchClient
    from msrest.authentication import CognitiveServicesCredentials
    subscription_key = "YOUR-SUBSCRIPTION-KEY"
    endpoint = "YOUR-ENDPOINT"
    search_term = "Quantum Computing"
    

Inicializar o cliente e enviar uma solicitação

  1. Crie uma instância de CognitiveServicesCredentials.

    client = NewsSearchClient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
    
  2. Envie uma consulta de pesquisa para a API de Pesquisa de Notícias, armazene a resposta.

    news_result = client.news.search(query=search_term, market="en-us", count=10)
    

Analise a resposta

Se forem encontrados resultados de pesquisa, imprima o primeiro resultado da página Web:

if news_result.value:
    first_news_result = news_result.value[0]
    print("Total estimated matches value: {}".format(
        news_result.total_estimated_matches))
    print("News result count: {}".format(len(news_result.value)))
    print("First news name: {}".format(first_news_result.name))
    print("First news url: {}".format(first_news_result.url))
    print("First news description: {}".format(first_news_result.description))
    print("First published time: {}".format(first_news_result.date_published))
    print("First news provider: {}".format(first_news_result.provider[0].name))
else:
    print("Didn't see any news result data..")

Próximos passos