Compartilhar via


Início Rápido: Usar a biblioteca do cliente da Pesquisa de Notícias do Bing

Aviso

Em 30 de outubro de 2020, as APIs de Pesquisa do Bing foram transferidas 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 dodo Azure Marketplace.

Use este início rápido para começar a procurar notícias com a biblioteca de clientes 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 clientes fornece uma maneira fácil de integrar o serviço aos seus aplicativos. O código-fonte desta amostra pode ser encontrado no GitHub.

Pré-requisitos

Para configurar um aplicativo de console usando a biblioteca de clientes da Pesquisa de Notícias do Bing, navegue até a opção Manage NuGet Packages do 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 do Bing Search v7

  • Disponível por meio do portal do Azure até que você exclua o recurso.
  • Use o plano de preços gratuito para experimentar o serviço, e depois mude para um plano pago para fins de produção.

Recurso de múltiplos 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, 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 e para um termo de pesquisa, e então instancie o cliente de pesquisa de notícias com essas informações.

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

Enviar uma solicitação e analisar 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 tiver sido retornado, analise-os:

    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óximas etapas

Use este início rápido para começar a procurar notícias com a biblioteca de clientes 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 clientes fornece uma maneira fácil de integrar o serviço aos seus aplicativos. O código-fonte desta amostra pode ser encontrado no GitHub.

Pré-requisitos

Instale as dependências da biblioteca de clientes da Pesquisa de Notícias do Bing usando o Maven, o Gradle ou outro sistema de gerenciamento de dependências. O arquivo POM do Maven 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 do Bing Search v7

  • Disponível por meio do portal do Azure até que você exclua o recurso.
  • Use o plano de preços gratuito para experimentar o serviço, e depois mude para um plano pago para fins de produção.

Recurso de múltiplos 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, 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 bibliotecas a seguir.

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 o 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 builder para criar suas credenciais para a chamada da biblioteca de clientes.

    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 uma solicitação de pesquisa

  1. Crie um método que chame getClient() e envie uma solicitação de pesquisa para o serviço de Pesquisa de Notícias do Bing. Filtre a pesquisa com os parâmetros de mercado e de contagem , e imprima informações sobre o primeiro resultado da notícia: nome, URL, data de publicação, descrição, nome do provedor e número total de correspondências estimadas para 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óximas etapas

Use este início rápido para começar a procurar notícias com a biblioteca de clientes 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 clientes fornece uma maneira fácil de integrar o serviço aos seus aplicativos. O código-fonte desta amostra pode ser encontrado no GitHub.

Pré-requisitos

  • A versão mais recente 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 autenticar o 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 do Bing Search v7

  • Disponível por meio do portal do Azure até que você exclua o recurso.
  • Use o plano de preços gratuito para experimentar o serviço, e depois mude para um plano pago para fins de produção.

Recurso de múltiplos 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, em vários serviços de IA do Azure.

Criar e inicializar o aplicativo

  1. Criar uma instância do CognitiveServicesCredentials. Crie variáveis para sua chave de assinatura 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 processar nenhum texto. Os resultados, se houver por categoria, incluirão:

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

Próximas etapas

Use este início rápido para começar a procurar notícias com a biblioteca de clientes 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 clientes fornece uma maneira fácil de integrar o serviço aos seus aplicativos. O código-fonte desta amostra pode ser encontrado no GitHub.

Pré-requisitos

É recomendável usar um ambiente virtual para o desenvolvimento do 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 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 do Bing Search v7

  • Disponível por meio do portal do Azure até que você exclua o recurso.
  • Use o plano de preços gratuito para experimentar o serviço, e depois mude para um plano pago para fins de produção.

Recurso de múltiplos 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, 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 bibliotecas a seguir. Crie uma variável para sua chave de assinatura e 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. Criar 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)
    

Analisar a resposta

Se algum resultado da pesquisa for encontrado, imprima o primeiro resultado da página da 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óximas etapas