使用必应图像搜索 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

q 查询参数用于采用 URL 编码的搜索词。 例如,如果输入 sailing dinghies,系统会将 q 设置为 sailing+dinghiessailing%20dinghies

重要

  • 所有请求必须从服务器发出,不得从客户端发出。
  • 如果是首次调用任何必应搜索 API,请勿包括客户端 ID 标头。 只有在以前调用过必应 API 且该 API 针对用户和设备组合返回了客户端 ID 的情况下,才包括客户端 ID。

从特定 Web 域获取图像

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

  • aspect:按纵横比筛选图像(例如,标准图像或宽屏图像)。
  • color:按主色或黑白色筛选图像。
  • freshness:按时间筛选图像(例如,必应在过去一周发现的图像)。
  • heightwidth:按高度和宽度筛选图像。
  • imageContent:按内容筛选图像(例如,只显示人脸的图像)。
  • imageType:按类型筛选图像(例如,剪贴画、动态 GIF 或透明背景图像)。
  • license:按与站点关联的许可证类型筛选图像。
  • size:按大小筛选图像(例如,最大尺寸为 200x200 像素的小图像)。

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

以下示例演示了如何从 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。 不应依赖于 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 应用的教程。