Получение изображений из Интернета с помощью API Bing для поиска изображений

Предупреждение

30 октября 2020 г. API Поиск Bing перенесены из служб ИИ Azure в Поиск Bing Services. Эта документация приводится только для справки. Обновленную информацию см. в документации по API Поиска Bing. Инструкции по созданию ресурсов Azure для Поиска MS Bing см. в статье о том, как создать ресурс для Поиска MS Bing с помощью Azure Marketplace.

При использовании REST API Bing для поиска изображений можно получать изображения из Интернета, которые связаны с условием вашего поиска путем отправки следующего GET-запроса:

GET https://api.cognitive.microsoft.com/bing/v7.0/images/search?q=sailing+dinghies&mkt=en-us HTTP/1.1
Ocp-Apim-Subscription-Key: 123456789ABCDE
X-MSEdge-ClientIP: 999.999.999.999
X-Search-Location: lat:47.60357;long:-122.3295;re:100
X-MSEdge-ClientID: <blobFromPriorResponseGoesHere>
Host: api.cognitive.microsoft.com

Используйте параметр запроса q для выражения поиска, закодированного с помощью URL-адреса. Например, если вы вводите sailing dinghies, установите для параметра q значение sailing+dinghies или sailing%20dinghies.

Важно!

  • Все запросы нужно выполнить на сервере, а не в клиенте.
  • Если вы впервые вызываете любой из поисковых API-интерфейсов Bing, не включайте заголовок идентификатора клиента. Включите идентификатор клиента только в том случае, если вы ранее вызывали API Bing, который возвратил идентификатор клиента для определенного сочетания пользователя и устройства.

Получение изображений из определенного веб-домена

Чтобы получить изображения с определенного домена, используйте оператор запроса site:.

GET https://api.cognitive.microsoft.com/bing/v7.0/images/search?q=sailing+dinghies+site:contososailing.com&mkt=en-us HTTP/1.1

Примечание

Ответы на запросы с помощью оператора site: могут относиться к содержимому для взрослых вне зависимости от параметров SafeSearch. Используйте site: только тогда, когда вам известно содержимое домена.

Фильтрация изображений

По умолчанию API для поиска изображений возвращает все изображения, относящиеся к запросу. Если необходимо использовать фильтры для изображений, которые возвращает Bing (например, только изображения с прозрачным фоном или определенного размера), используйте следующие параметры запроса:

  • aspect — фильтрация изображений по формату (например, стандартные или широкоэкранные изображения);
  • color — фильтрация изображений по доминирующему цвету или черно-белой палитре;
  • freshness — фильтрация изображений по сроку существования (например, изображения, обнаруженные Bing на прошлой неделе);
  • height, width — фильтрация изображений по ширине и высоте;
  • imageContent — фильтрация изображений по содержанию (например, изображения, на которых только лицо человека);
  • imageType — фильтрация изображений по типу (например, клип, GIF с анимацией или с прозрачным фоном);
  • license — фильтрация изображений по типу лицензии, связанной с сайтом;
  • size — фильтрация изображений по размеру, например маленькие изображения размером до 200x200 пикселей.

Чтобы получить изображения с определенного домена, используйте оператор запроса site:.

В следующем примере показано, как получить небольшие изображения с сайта ContosoSailing.com, обнаруженные Bing на прошлой неделе.

GET https://api.cognitive.microsoft.com/bing/v7.0/images/search?q=sailing+dinghies+site:contososailing.com&size=small&freshness=week&mkt=en-us HTTP/1.1  
Ocp-Apim-Subscription-Key: 123456789ABCDE  
X-MSEdge-ClientIP: 999.999.999.999  
X-Search-Location: lat:47.60357;long:-122.3295;re:100  
X-MSEdge-ClientID: <blobFromPriorResponseGoesHere>  
Host: api.cognitive.microsoft.com  

Формат ответа для API Bing для поиска изображений

Ответное сообщение от Bing содержит ответ Изображения , содержащий список изображений, которые службы ИИ Azure определили как соответствующие запросу. Каждый объект Изображения в списке содержит следующие сведения об изображении: URL-адрес, размер, измерения, формат кодирования, URL-адрес эскиза изображения, а также размеры эскизов.

Примечание

  • Изображения должны отображаться в порядке, указанном в ответе.
  • Так как формат и параметры URL-адресов могут измениться в любой момент без предварительного уведомления, используйте все URL-адреса как есть. Формат и параметры URL-адресов не следует учитывать, если это явно не обозначено.
{
    "name": "Rich Passage Sailing Dinghy",
    "webSearchUrl": "https:\/\/www.bing.com\/cr?IG=73118C8B4E3...",
    "thumbnailUrl": "https:\/\/tse1.mm.bing.net\/th?id=OIP.GNarK7m...",
    "datePublished": "2011-10-29T11:26:00",
    "contentUrl": "http:\/\/www.bing.com\/cr?IG=73118C8B4E3D4C3...",
    "hostPageUrl": "http:\/\/www.bing.com\/cr?IG=73118C8B4E3D4C3687...",
    "contentSize": "79239 B",
    "encodingFormat": "jpeg",
    "hostPageDisplayUrl": "en.contoso.org\/wiki\/File:Rich_Passage...",
    "width": 526,
    "height": 688,
    "thumbnail": {
        "width": 229,
        "height": 300
    },
    "imageInsightsToken": "ccid_GNarK7ma*mid_CCF85447ADA6...",
    "insightsSourcesSummary": {
        "shoppingSourcesCount": 0,
        "recipeSourcesCount": 0
    },
    "imageId": "CCF85447ADA6FFF9E96E7DF0B796F7A86E34593",
    "accentColor": "376094"
},

Когда вы вызываете API Bing для поиска изображений, Bing возвращает список результатов. Список — это подмножество общего количества результатов, относящихся к запросу. Поле ответа totalEstimatedMatches содержит оценку количества изображений, доступных для просмотра. Подробнее о том, как просматривать оставшиеся изображения, см. в статье Разбиение результатов по страницам.

Дальнейшие действия

Если вы еще ни разу не использовали API Bing для поиска изображений, ознакомьтесь со следующей статьей. Если вы ищете что-нибудь посложнее, ознакомьтесь с руководством по созданию одностраничного веб-приложения.