Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предупреждение
30 октября 2020 г. API поиска Bing перемещены из служб ИИ Azure в службы поиска Bing. Эта документация предоставляется только для справки. Обновленную информацию см. в документации по API Поиска Bing. Инструкции по созданию ресурсов Azure для Поиска Bing приведены в статье Создание ресурса для Поиска Bing с помощью Azure Marketplace.
Используйте это краткое руководство, чтобы начать поиск новостей с клиентской библиотекой поиска новостей Bing для C#. Хотя поиск новостей Bing поддерживает REST API, совместимый с большинством языков программирования, клиентская библиотека предоставляет простой способ интеграции службы в приложения. Исходный код для этого шаблона можно найти на портале GitHub.
Предпосылки
Любой выпуск Visual Studio 2017 или более поздняя версия.
Платформа Json.NET, доступная в виде пакета NuGet.
Если вы используете Linux или MacOS, это приложение можно запустить с помощью Mono.
Пакет NuGet SDK для поиска новостей Bing . Установка этого пакета также устанавливает следующее:
- Microsoft.Rest.ClientRuntime
- Microsoft.Rest.ClientRuntime.Azure
- Newtonsoft.Json
Чтобы настроить консольное приложение с помощью клиентской библиотеки поиска новостей Bing, перейдите к Manage NuGet Packages параметру из обозревателя решений в Visual Studio. Добавьте пакет Microsoft.Azure.CognitiveServices.Search.NewsSearch.
Создание ресурса Azure
Начните использовать API поиска новостей Bing, создав один из следующих ресурсов Azure:
- Доступен на портале Azure до тех пор, пока вы не удалите ресурс.
- Используйте бесплатный тарифный план, чтобы попробовать услугу, и перейдите на платный тариф для использования в работе.
- Доступен на портале Azure до тех пор, пока вы не удалите ресурс.
- Используйте один и тот же ключ и конечную точку для приложений в нескольких службах ИИ Azure.
Создание и инициализация проекта
Создайте новое консольное решение C# в Visual Studio. Затем добавьте следующий код в основной файл кода.
using System; using System.Linq; using Microsoft.Azure.CognitiveServices.Search.NewsSearch;Создайте переменную для вашего ключа API и поискового термина, а затем создайте экземпляр клиента для поиска новостей с помощью них.
var key = "YOUR-ACCESS-KEY"; var searchTerm = "Quantum Computing"; var client = new NewsSearchClient(new ApiKeyServiceClientCredentials(key));
Отправка запроса и анализ результата
Используйте клиент для отправки запроса поиска в службу поиска новостей Bing:
var newsResults = client.News.SearchAsync(query: searchTerm, market: "en-us", count: 10).Result;Если были возвращены какие-либо результаты, разберите их.
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();
Дальнейшие действия
Используйте это краткое руководство, чтобы начать поиск новостей с клиентской библиотекой поиска новостей Bing для Java. Хотя поиск новостей Bing поддерживает REST API, совместимый с большинством языков программирования, клиентская библиотека предоставляет простой способ интеграции службы в приложения. Исходный код для этого шаблона можно найти на портале GitHub.
Предпосылки
Установите зависимости клиентской библиотеки поиска новостей Bing с помощью Maven, Gradle или другой системы управления зависимостями. Для файла Maven POM требуется следующее определение:
<dependencies>
<dependency>
<groupId>com.microsoft.azure.cognitiveservices</groupId>
<artifactId>azure-cognitiveservices-newssearch</artifactId>
<version>0.0.1-beta-SNAPSHOT</version>
</dependency>
</dependencies>
Создание ресурса Azure
Начните использовать API поиска новостей Bing, создав один из следующих ресурсов Azure:
- Доступен на портале Azure до тех пор, пока вы не удалите ресурс.
- Используйте бесплатный тарифный план, чтобы попробовать услугу, и перейдите на платный тариф для использования в работе.
- Доступен на портале Azure до тех пор, пока вы не удалите ресурс.
- Используйте один и тот же ключ и конечную точку для приложений в нескольких службах ИИ Azure.
Создание и инициализация проекта
Создайте проект Java в любимой интегрированной среде разработки или редакторе и импортируйте следующие библиотеки.
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;
Создание клиента поиска и хранение учетных данных
Создайте метод
getClient(), который возвращает нового клиента поискаNewsSearchAPIImpl. Добавьте конечную точку в качестве первого параметра для новогоNewsSearchAPIImplобъекта и новыйServiceClientCredentialsобъект для хранения учетных данных.public static NewsSearchAPIImpl getClient(final String subscriptionKey) { return new NewsSearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/", new ServiceClientCredentials() { }); }Чтобы создать
ServiceClientCredentialsобъект, переопределите функциюapplyCredentialsFilter().OkHttpClient.BuilderПередайте метод и используйте метод построителяaddNetworkInterceptor()для создания учетных данных для вызова клиентской библиотеки.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); } }); } });
Отправка и получение поискового запроса
Создайте метод, который вызывает
getClient()и отправляет поисковый запрос в службу поиска новостей Bing. Отфильтруйте поиск по параметрам рынка и подсчета , а затем распечатайте сведения о первом результате новостей: имя, URL-адрес, дата публикации, описание, имя поставщика и общее количество предполагаемых совпадений для поиска.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!"); } }Добавьте метод поиска в метод
main()для выполнения этого кода.public static void main(String[] args) { String subscriptionKey = "YOUR-SUBSCRIPTION-KEY"; NewsSearchSDK.newsSearch(subscriptionKey); }
Дальнейшие действия
Используйте это краткое руководство, чтобы начать поиск новостей с клиентской библиотекой поиска новостей Bing для JavaScript. Хотя поиск новостей Bing поддерживает REST API, совместимый с большинством языков программирования, клиентская библиотека предоставляет простой способ интеграции службы в приложения. Исходный код для этого шаблона можно найти на портале GitHub.
Предпосылки
- Последняя версия Node.js.
-
Пакет SDK поиска новостей Bing для JavaScript
- Чтобы установить его, выполните такую команду.
npm install @azure/cognitiveservices-newssearch
- Чтобы установить его, выполните такую команду.
- Класс
CognitiveServicesCredentialsиз пакета@azure/ms-rest-azure-jsдля проверки подлинности клиента.- Чтобы установить его, выполните такую команду.
npm install @azure/ms-rest-azure-js
- Чтобы установить его, выполните такую команду.
Создание ресурса Azure
Начните использовать API поиска новостей Bing, создав один из следующих ресурсов Azure:
- Доступен на портале Azure до тех пор, пока вы не удалите ресурс.
- Используйте бесплатный тарифный план, чтобы попробовать услугу, и перейдите на платный тариф для использования в работе.
- Доступен на портале Azure до тех пор, пока вы не удалите ресурс.
- Используйте один и тот же ключ и конечную точку для приложений в нескольких службах ИИ Azure.
Создание и инициализация приложения
Создайте экземпляр объекта
CognitiveServicesCredentials. Создайте переменные для ключа подписки и термина поиска.const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials; let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY'); let search_term = 'Winter Olympics'Создайте экземпляр клиента:
const NewsSearchAPIClient = require('@azure/cognitiveservices-newssearch'); let client = new NewsSearchAPIClient(credentials);
Отправка поискового запроса
Используйте клиент для поиска с помощью термина запроса в данном случае "Зимние Олимпийские игры":
client.newsOperations.search(search_term).then((result) => { console.log(result.value); }).catch((err) => { throw err; });
Код выводит result.value элементы в консоль без анализа текста. Результаты, если таковые имеются для каждой категории, будут включать:
_type: 'NewsArticle'_type: 'WebPage'_type: 'VideoObject'_type: 'ImageObject'
Дальнейшие действия
Используйте это краткое руководство, чтобы начать поиск новостей с клиентской библиотекой поиска новостей Bing для Python. Хотя поиск новостей Bing поддерживает REST API, совместимый с большинством языков программирования, клиентская библиотека предоставляет простой способ интеграции службы в приложения. Исходный код для этого шаблона можно найти на портале GitHub.
Предпосылки
- Python 2.x или 3.x
Рекомендуется использовать виртуальную среду для разработки Python. Вы можете установить и инициализировать виртуальную среду с помощью модуля venv. Необходимо установить virtualenv для Python 2.7. Вы можете создать виртуальную среду с помощью:
python -m venv mytestenv
С помощью этой команды можно установить зависимости клиентской библиотеки поиска новостей Bing:
python -m pip install azure-cognitiveservices-search-newssearch
Создание ресурса Azure
Начните использовать API поиска новостей Bing, создав один из следующих ресурсов Azure:
- Доступен на портале Azure до тех пор, пока вы не удалите ресурс.
- Используйте бесплатный тарифный план, чтобы попробовать услугу, и перейдите на платный тариф для использования в работе.
- Доступен на портале Azure до тех пор, пока вы не удалите ресурс.
- Используйте один и тот же ключ и конечную точку для приложений в нескольких службах ИИ Azure.
Создание и инициализация приложения
Создайте новый файл Python в любимой интегрированной среде разработки или редакторе и импортируйте следующие библиотеки. Создайте переменную для ключа подписки и условия поиска.
from azure.cognitiveservices.search.newssearch import NewsSearchClient from msrest.authentication import CognitiveServicesCredentials subscription_key = "YOUR-SUBSCRIPTION-KEY" endpoint = "YOUR-ENDPOINT" search_term = "Quantum Computing"
Инициализация клиента и отправка запроса
Создайте экземпляр
CognitiveServicesCredentials.client = NewsSearchClient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))Отправьте поисковый запрос в API поиска новостей, сохраните ответ.
news_result = client.news.search(query=search_term, market="en-us", count=10)
Анализ ответа
Если найдены результаты поиска, напечатать первый результат веб-страницы:
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..")