Получение изображений из Интернета с помощью 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 для поиска изображений, ознакомьтесь со следующей статьей. Если вы ищете что-нибудь посложнее, ознакомьтесь с руководством по созданию одностраничного веб-приложения.