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

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 começar a procurar 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 forma fácil de integrar o serviço nas suas aplicações. O código fonte deste exemplo pode ser encontrado no GitHub.

Pré-requisitos

Para configurar uma aplicação de consola com a biblioteca de cliente da Pesquisa de Notícias do Bing, navegue para a opção Manage NuGet Packages a partir do Explorador de Soluções no Visual Studio. Adicione o pacote Microsoft.Azure.CognitiveServices.Search.NewsSearch.

Criar um recurso do Azure

Comece a utilizar a API de Pesquisa de Notícias do Bing ao criar um dos seguintes recursos do Azure:

Pesquisa do Bing recurso v7

  • 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 de vários serviços

  • 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 um projeto

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

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

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

Enviar um pedido e analisar o resultado

  1. Utilize o cliente para enviar um pedido de pesquisa para a Serviço de pesquisa de Notícias do Bing:

    var newsResults = client.News.SearchAsync(query: searchTerm, market: "en-us", count: 10).Result;
    
  2. Se forem devolvidos resultados, 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();
    

Passos seguintes

Utilize 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 forma fácil de integrar o serviço nas suas aplicações. 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 com o Maven, o Gradle ou outro sistema de gestão de dependências. O ficheiro POM do Maven necessita da 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 utilizar a API de Pesquisa de Notícias do Bing ao criar um dos seguintes recursos do Azure:

Pesquisa do Bing recurso v7

  • 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 de vários serviços

  • 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 um projeto

Crie um novo projeto Java no 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 devolva um novo NewsSearchAPIImpl cliente de pesquisa. Adicione o ponto final como o primeiro parâmetro para o novoNewsSearchAPIImpl objeto e um novo ServiceClientCredentials objeto para armazenar as 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 ServiceClientCredentials objeto, substitua a applyCredentialsFilter() função . Transmita um OkHttpClient.Builder para o método e utilize o método do addNetworkInterceptor() construtor para criar as suas credenciais para a chamada da biblioteca de 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 um pedido de pesquisa para o Serviço de pesquisa de Notícias do Bing. Filtre a pesquisa com os parâmetros de mercado e contagem e, em seguida, imprima informações sobre o primeiro resultado de notícias: nome, URL, data de publicação, descrição, nome do fornecedor e número total de correspondências estimadas para a 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 o método de pesquisa a um main() método para executar o código.

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

Passos seguintes

Utilize 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 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 forma fácil de integrar o serviço nas suas aplicações. O código fonte deste exemplo 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 CognitiveServicesCredentials classe do @azure/ms-rest-azure-js pacote para autenticar o cliente.
    • Para instalar, execute npm install @azure/ms-rest-azure-js

Criar um recurso do Azure

Comece a utilizar a API de Pesquisa de Notícias do Bing ao criar um dos seguintes recursos do Azure:

Pesquisa do Bing recurso v7

  • 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 de vários serviços

  • 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

  1. Crie uma instância de 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. instanciar o cliente:

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

Enviar uma consulta de pesquisa

  1. Utilize o cliente para procurar 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 na consola sem analisar o texto. Os resultados, se existirem por categoria, incluirão:

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

Passos seguintes

Utilize 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 forma fácil de integrar o serviço nas suas aplicações. O código fonte deste exemplo pode ser encontrado no GitHub.

Pré-requisitos

Recomenda-se a utilização de um ambiente virtual para o desenvolvimento do Python. Pode instalar e inicializar o ambiente virtual com o módulo venv. Tem de instalar um virtualenv para Python 2.7. Pode criar um ambiente virtual com:

python -m venv mytestenv

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 utilizar a API de Pesquisa de Notícias do Bing ao criar um dos seguintes recursos do Azure:

Pesquisa do Bing recurso v7

  • 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

  1. Crie um novo ficheiro Python no seu IDE ou editor favorito e importe as seguintes bibliotecas. Crie uma variável para a sua chave de subscrição e o 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 um pedido

  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 e armazene a resposta.

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

Analisar 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..")

Passos seguintes