Rövid útmutató: A Bing News Search ügyfélkódtár használata
Figyelmeztetés
2020. október 30-án a Bing Search API-k átkerültek az Azure AI-szolgáltatásokból a Bing Search Servicesbe. Ez a dokumentáció csak referenciaként szolgál. A frissített dokumentációt a Bing search API dokumentációjában találja. Az új Azure-erőforrások Bing-kereséshez való létrehozásával kapcsolatos útmutatásért lásd: Bing Search-erőforrás létrehozása a Azure Marketplace keresztül.
Ezzel a rövid útmutatóval elkezdhet híreket keresni a C# Bing News Search ügyfélkódtárával. Bár a Bing News Search a legtöbb programozási nyelvvel kompatibilis REST API-val rendelkezik, az ügyfélkódtár segítségével egyszerűen integrálhatja a szolgáltatást az alkalmazásokba. A minta forráskódja a GitHubon található.
Előfeltételek
A Visual Studio 2017 vagy újabb verzióinak bármely kiadása.
A Json.NET keretrendszer, amely NuGet-csomagként letölthető.
Linux/MacOS rendszer esetében az alkalmazás a Monóval futtatható.
A Bing News Search SDK NuGet-csomagja. A csomag telepítése a következőket is telepíti:
- Microsoft.Rest.ClientRuntime
- Microsoft.Rest.ClientRuntime.Azure
- Newtonsoft.Json
Ha egy konzolalkalmazást a Bing News Search ügyfélkódtárával szeretne beállítani, keresse meg a lehetőséget a Manage NuGet Packages
Visual Studio Megoldáskezelő. Vegye fel a Microsoft.Azure.CognitiveServices.Search.NewsSearch
csomagot.
Azure-erőforrás létrehozása
Kezdje el használni a Bing News Search API-t az alábbi Azure-erőforrások egyikének létrehozásával:
- Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Az ingyenes tarifacsomag használatával próbálja ki a szolgáltatást, és frissítsen később egy fizetős szintre éles környezetben.
- Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Használja ugyanazt a kulcsot és végpontot az alkalmazásokhoz több Azure AI-szolgáltatásban.
Projekt létrehozása és inicializálása
Hozzon létre egy új C#-konzolmegoldást a Visual Studióban. Ezután adja hozzá a következőket a fő kódfájlhoz.
using System; using System.Linq; using Microsoft.Azure.CognitiveServices.Search.NewsSearch;
Hozzon létre egy változót az API-kulcshoz, egy keresési kifejezést, majd hozza létre vele a hírkeresési ügyfelet.
var key = "YOUR-ACCESS-KEY"; var searchTerm = "Quantum Computing"; var client = new NewsSearchClient(new ApiKeyServiceClientCredentials(key));
Kérés küldése és az eredmény elemzése
Az ügyfél használatával küldjön keresési kérést a Bing News Search szolgáltatás:
var newsResults = client.News.SearchAsync(query: searchTerm, market: "en-us", count: 10).Result;
Ha bármilyen eredményt ad vissza, elemezd őket:
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();
Következő lépések
Ezzel a rövid útmutatóval megkezdheti a hírek keresését a Java Bing News Search ügyfélkódtárával. Bár a Bing News Search a legtöbb programozási nyelvvel kompatibilis REST API-val rendelkezik, az ügyfélkódtár segítségével egyszerűen integrálhatja a szolgáltatást az alkalmazásokba. A minta forráskódja a GitHubon található.
Előfeltételek
Telepítse a Bing News Search ügyféloldali kódtár-függőségeit a Maven, a Gradle vagy más függőségkezelési rendszer használatával. A Maven POM-fájlhoz a következő deklarációra van szükség:
<dependencies>
<dependency>
<groupId>com.microsoft.azure.cognitiveservices</groupId>
<artifactId>azure-cognitiveservices-newssearch</artifactId>
<version>0.0.1-beta-SNAPSHOT</version>
</dependency>
</dependencies>
Azure-erőforrás létrehozása
Kezdje el használni a Bing News Search API-t az alábbi Azure-erőforrások egyikének létrehozásával:
- Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Az ingyenes tarifacsomag használatával próbálja ki a szolgáltatást, és frissítsen később egy fizetős szintre éles környezetben.
- Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Használja ugyanazt a kulcsot és végpontot az alkalmazásokhoz több Azure AI-szolgáltatásban.
Projekt létrehozása és inicializálása
Hozzon létre egy új Java-projektet a kedvenc IDE-környezetében vagy szerkesztőjében, és importálja az alábbi kódtárakat.
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;
Keresési ügyfél létrehozása és hitelesítő adatok tárolása
Hozzon létre egy nevű
getClient()
metódust, amely egy újNewsSearchAPIImpl
keresési ügyfelet ad vissza. Adja hozzá a végpontot az újNewsSearchAPIImpl
objektum első paramétereként, és egy újServiceClientCredentials
objektumot a hitelesítő adatok tárolásához.public static NewsSearchAPIImpl getClient(final String subscriptionKey) { return new NewsSearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/", new ServiceClientCredentials() { }); }
Az
ServiceClientCredentials
objektum létrehozásához felülbírálja a függvénytapplyCredentialsFilter()
. Adja át az a-tOkHttpClient.Builder
a metódusnak, és a szerkesztő metódusávaladdNetworkInterceptor()
hozza létre a hitelesítő adatait az ügyfélkódtár hívásához.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); } }); } });
Keresési kérelem küldése és fogadása
Hozzon létre egy metódust, amely meghívja
getClient()
és elküldi a keresési kérést a Bing News Search szolgáltatás. Szűrje a keresést a piac és a darabszám paramétereivel, majd nyomtassa ki az első hír eredményére vonatkozó információkat: név, URL-cím, közzététel dátuma, leírás, szolgáltató neve és a keresés becsült találatainak teljes száma.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!"); } }
Adja hozzá a keresési metódust egy
main()
metódushoz a kód végrehajtásához.public static void main(String[] args) { String subscriptionKey = "YOUR-SUBSCRIPTION-KEY"; NewsSearchSDK.newsSearch(subscriptionKey); }
Következő lépések
Ezzel a rövid útmutatóval megkezdheti a hírek keresését a JavaScripthez készült Bing News Search ügyfélkódtárban. Bár a Bing News Search a legtöbb programozási nyelvvel kompatibilis REST API-val rendelkezik, az ügyfélkódtár segítségével egyszerűen integrálhatja a szolgáltatást az alkalmazásokba. A minta forráskódja a GitHubon található.
Előfeltételek
- A Node.js legújabb verziója.
- A JavaScripthez készült Bing News Search SDK
- A telepítéshez futtassa a
npm install @azure/cognitiveservices-newssearch
- A telepítéshez futtassa a
- Az
CognitiveServicesCredentials
osztály a csomagból@azure/ms-rest-azure-js
az ügyfél hitelesítéséhez.- A telepítéshez futtassa a
npm install @azure/ms-rest-azure-js
- A telepítéshez futtassa a
Azure-erőforrás létrehozása
Kezdje el használni a Bing News Search API-t az alábbi Azure-erőforrások egyikének létrehozásával:
- Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Az ingyenes tarifacsomag használatával próbálja ki a szolgáltatást, és frissítsen később egy fizetős szintre éles környezetben.
- Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Használja ugyanazt a kulcsot és végpontot az alkalmazásokhoz több Azure AI-szolgáltatásban.
Az alkalmazás létrehozása és inicializálása
Hozza létre a
CognitiveServicesCredentials
egy példányát. Hozzon létre változókat az előfizetési kulcshoz és egy keresési kifejezéshez.const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials; let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY'); let search_term = 'Winter Olympics'
az ügyfél példányosítása:
const NewsSearchAPIClient = require('@azure/cognitiveservices-newssearch'); let client = new NewsSearchAPIClient(credentials);
Keresési lekérdezés küldése
Használja az ügyfelet egy lekérdezési kifejezéssel való kereséshez, ebben az esetben a "Téli olimpia":
client.newsOperations.search(search_term).then((result) => { console.log(result.value); }).catch((err) => { throw err; });
A kód result.value
-elemeket jelenít meg a konzolon bármilyen szövegelemzés nélkül. Az eredmények – ha egyáltalán van találat egy kategóriában – a következőket fogják tartalmazni:
_type: 'NewsArticle'
_type: 'WebPage'
_type: 'VideoObject'
_type: 'ImageObject'
Következő lépések
Ezzel a rövid útmutatóval megkezdheti a hírek keresését a Python Bing News Search ügyfélkódtárával. Bár a Bing News Search a legtöbb programozási nyelvvel kompatibilis REST API-val rendelkezik, az ügyfélkódtár segítségével egyszerűen integrálhatja a szolgáltatást az alkalmazásokba. A minta forráskódja a GitHubon található.
Előfeltételek
- Python 2.x vagy 3.x
Javasoljuk, hogy virtuális környezetet használjon a Python-fejlesztéshez. A virtuális környezetet a venv modullal telepítheti és inicializálhatja. Telepítenie kell egy virtualenv-t a Python 2.7-hez. Virtuális környezetet a következőkkel hozhat létre:
python -m venv mytestenv
A Bing News Search ügyféloldali kódtár függőségeit az alábbi paranccsal telepítheti:
python -m pip install azure-cognitiveservices-search-newssearch
Azure-erőforrás létrehozása
Kezdje el használni a Bing News Search API-t az alábbi Azure-erőforrások egyikének létrehozásával:
- A Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Az ingyenes tarifacsomag használatával próbálja ki a szolgáltatást, és frissítsen később egy fizetős tarifacsomagra éles környezetben.
- A Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Használja ugyanazt a kulcsot és végpontot az alkalmazásokhoz több Azure AI-szolgáltatásban.
Az alkalmazás létrehozása és inicializálása
Hozzon létre egy új Python-fájlt a kedvenc IDE-jében vagy szerkesztőjében, és importálja az alábbi kódtárakat. Hozzon létre egy változót az előfizetői azonosítóhoz és a keresési kifejezéshez.
from azure.cognitiveservices.search.newssearch import NewsSearchClient from msrest.authentication import CognitiveServicesCredentials subscription_key = "YOUR-SUBSCRIPTION-KEY" endpoint = "YOUR-ENDPOINT" search_term = "Quantum Computing"
Az ügyfél inicializálása és kérés küldése
Hozza létre a
CognitiveServicesCredentials
egy példányát.client = NewsSearchClient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
Küldjön keresési lekérdezést a News Search API-nak, és tárolja a választ.
news_result = client.news.search(query=search_term, market="en-us", count=10)
A válasz feldolgozása
Ha talál találatot, nyomtassa ki az első weblap eredményét:
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..")