使用必应图像搜索 API 从 Web 获取图像

警告

2020 年 10 月 30 日,必应搜索 API 从 Azure AI 服务迁移到必应搜索服务。 本文档仅供参考。 有关更新的文档,请参阅 必应搜索 API 文档。 有关为必应搜索创建新的 Azure 资源的说明,请参阅 通过 Azure 市场创建必应搜索资源

使用必应图像搜索 REST API 时,可以通过发送以下 GET 请求从 Web 获取与搜索词相关的图像:

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

对 URL 编码的搜索词使用 q 查询参数。 例如,如果输入帆船小艇,则将q设置为sailing+dinghiessailing%20dinghies

重要

  • 所有请求都必须从服务器发出,而不是从客户端发出。
  • 如果是你第一次调用任何必应搜索 API,请不要包含客户端 ID 头信息。 仅在您之前调用过返回用户和设备组合的客户端 ID 的必应 API 时,才包含客户端 ID。

从特定 Web 域获取图像

若要从特定域获取图像,请使用 站点: 查询运算符。

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 返回与查询相关的所有图像。 如果要筛选必应返回的图像(例如,仅返回具有透明背景或特定大小的图像),请使用以下查询参数:

  • 比例 - 按图片比例筛选图像 (例如标准或宽屏图像)。
  • 颜色 - 按主导颜色或黑白筛选图像。
  • 新鲜度 - 按年龄筛选图像(例如,过去一周由必应发现的图像)。
  • 高度宽度 - 按宽度和高度筛选图像。
  • imageContent - 按内容筛选图像(例如,仅显示人员脸的图像)。
  • imageType — 按类型筛选图像(例如剪贴画、动画 GIF 或透明背景)。
  • license - 按与站点关联的许可证类型筛选映像。
  • 大小 - 按大小筛选图像,例如最大 200x200 像素的小图像。

若要从特定域获取图像,请使用 站点: 查询运算符。

以下示例演示如何获取必应在过去一周发现的 ContosoSailing.com 上的小图像。

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  

必应图像搜索响应格式

来自必应的响应消息包含一个 图像 答案,其中包含 Azure AI 服务确定与查询相关的图像列表。 列表中的每个 Image 对象都包含有关图像的以下信息:URL、其大小、维度、编码格式、图像缩略图的 URL 以及缩略图的尺寸。

注释

  • 图像必须按响应中提供的顺序显示。
  • 由于 URL 格式和参数可能会随时更改,因此请使用所有 URL as-is。 不应依赖 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 时,必应将返回结果列表。 列表是与查询相关的结果总数的子集。 响应的 totalEstimatedMatches 字段包含可供查看的图像数的估计值。 有关如何分页浏览其余图像的详细信息,请参阅 分页图像

后续步骤

如果您之前尚未尝试必应图像搜索 API,请尝试 快速开始。 如果要查找更复杂的内容,请尝试本教程来创建 单页 Web 应用